Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Libgdx按钮单击一次_Java_Button_Libgdx_Clicklistener - Fatal编程技术网

Java Libgdx按钮单击一次

Java Libgdx按钮单击一次,java,button,libgdx,clicklistener,Java,Button,Libgdx,Clicklistener,我今天的问题是如何处理我的游戏按钮 我的按钮上有这个ClickListener。我想要实现的是,当我按下按钮时,它会将该表添加到舞台上,当我再次按下按钮时,它会将该表从舞台上移除。或者我可以接受当我点击按钮时,它会添加表格,然后按钮什么也不做,直到我点击另一个按钮关闭表格(如X(关闭)按钮) 另外,我通过执行stage.clear()然后执行stage.add(tableExample)将表从stage中删除,以添加回我的普通表。。有没有办法删除一个特定的表?比如stage.remove(ass

我今天的问题是如何处理我的游戏按钮

我的按钮上有这个ClickListener。我想要实现的是,当我按下按钮时,它会将该表添加到舞台上,当我再次按下按钮时,它会将该表从舞台上移除。或者我可以接受当我点击按钮时,它会添加表格,然后按钮什么也不做,直到我点击另一个按钮关闭表格(如X(关闭)按钮)


另外,我通过执行stage.clear()然后执行stage.add(tableExample)将表从stage中删除,以添加回我的普通表。。有没有办法删除一个特定的表?比如stage.remove(assignTable)?

为什么不试试这样的方法:

assignButton.addListener(new ClickListener(){

    boolean added = false;

    @Override
    public void clicked(InputEvent event, float x, float y)
    {
        if(!added) {
            stage.addActor(assignTable.getAssignTable());
            added = true;
        } else {
            stage.removeActor(assignTable.getAssignTable());
            added = false;
        }
}

布尔技巧奏效了!所以谢谢你!但我几乎可以肯定没有所谓的stage.removeActor(无论什么),所以我所做的就是stage.clear();assignTable.getAssignTable().reset();stage.addActor(主表);这使得表格没有任何内容,然后添加回所需的内容。。。我不认为这是最好的处理方法,但它起了作用。
assignButton.addListener(new ClickListener(){

    boolean added = false;

    @Override
    public void clicked(InputEvent event, float x, float y)
    {
        if(!added) {
            stage.addActor(assignTable.getAssignTable());
            added = true;
        } else {
            stage.removeActor(assignTable.getAssignTable());
            added = false;
        }
}