Libgdx 只向演员添加一次Listener

Libgdx 只向演员添加一次Listener,libgdx,scene2d,Libgdx,Scene2d,是否允许用户只触摸一次演员。 我尝试过使用布尔值,但问题是我在类构造函数中编写addListener,我希望它在这里不是在单独的方法中我相信你可以像这样删除侦听器,但我还没有测试过它,现在没有时间 final Table t = new Table(); t.addListener(ClickListener listener = new ClickListener() { @Override public void clicked(InputEvent event, float

是否允许用户只触摸一次演员。
我尝试过使用布尔值,但问题是我在类构造函数中编写addListener,我希望它在这里不是在单独的方法中

我相信你可以像这样删除侦听器,但我还没有测试过它,现在没有时间

final Table t = new Table();
t.addListener(ClickListener listener = new ClickListener() {
    @Override
    public void clicked(InputEvent event, float x, float y) {
        super.clicked(event, x, y);
        //Do stuff
        //...

        //remove this listener
        t.removeListener(this);
    }
});

我相信你可以像这样删除侦听器,我还没有测试过它,现在也没有时间

final Table t = new Table();
t.addListener(ClickListener listener = new ClickListener() {
    @Override
    public void clicked(InputEvent event, float x, float y) {
        super.clicked(event, x, y);
        //Do stuff
        //...

        //remove this listener
        t.removeListener(this);
    }
});

类中的一个布尔属性会在侦听器代码的开头被检查,并在第一次激发后设置为true,我所做的是这样的:boolean hasstouch=false;类MyActor(){if(haspothed==false){addListener……haspothed=true;}}}你能给我举个例子说明你在说什么吗?我在想这样的事情:类MyActor(){boolean haspothed=false;addListener{if(haspothed==false){在这里做点什么……haspothed=true;}}。所以监听器每次都会触发,但您放在其中的逻辑只会执行一次。那么,在监听器代码的开头检查类中的布尔属性,并在第一次触发后将其设置为true呢?我所做的是这样的:boolean HasTouch=false;类MyActor(){if(haspothed==false){addListener……haspothed=true;}}}你能给我举个例子说明你在说什么吗?我在想这样的事情:类MyActor(){boolean haspothed=false;addListener{if(haspothed==false){在这里做点什么……haspothed=true;}}。所以监听器每次都会触发,但是您放入其中的逻辑只会执行一次。