Libgdx | Scene2d |单击隐藏按钮时不触发touchDown输入处理器方法

时间:2016-08-24 14:00:05

标签: java android libgdx box2d scene2d

我创建了一个重启按钮,然后将其添加到表中。当我将表设置为不可见,并单击重启按钮所在的位置(现在不可见)时,我的播放器类中的touchDown InputProcessor甚至不会触发。但是,当我点击其他地方时,它会触发玩家touchDown。不知何故,这个按钮即使不可见也会干扰。一些额外的信息:

- 我的按钮是一个自定义类,我将代码放在下面 -Restart按钮有一个clickListener,但是,删除它不能解决问题 - 桌子在一个单独的舞台上,视口然后是玩家

CustomButton代码(用于重启按钮):

class CustomDrawable implements Drawable {

private Sprite sprite;
private Actor actor;

public CustomDrawable(Actor actor, Sprite sprite) {
    this.actor = actor;
    this.sprite = sprite;
}

@Override
public void draw(Batch batch, float x, float y, float width, float height) {
    sprite.setPosition(x, y);
    sprite.setSize(width, height);
    sprite.setColor(actor.getColor());
    sprite.draw(batch);
}
}

1 个答案:

答案 0 :(得分:1)

当您使其不可见时,请在重启按钮上调用setTouchable(Touchable.disabled)。 (并在使其可见时启用它。)