【发布时间】:2015-04-15 21:04:31
【问题描述】:
我对 android 编程和 libgdx/scene2d 以及所有这些好东西还很陌生。我在屏幕上有四个箭头键,当它们被按下时,我正在四处移动一个“花花公子”。我想看看是否有人知道拥有一个 InputListener 的方法,并且在该侦听器内部有一种方法可以检查舞台上按下了哪个演员,并基于此做一些事情,而不是拥有四个不同的 inputlistener 和 touchup/down 方法,每个文本按钮一个,我只想要一个。这是我所拥有的,需要在这个方法中检查哪个演员被按下。感谢阅读和帮助:D
InputListener inlis = new InputListener(){//Creating an InputListener to assign to each button instead of writing the same code four times :D
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
System.out.println("Press");
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
System.out.println("Release");
}
};
tbRight.addListener(inlis);
tbLeft.addListener(inlis);
tbDown.addListener(inlis);
tbUp.addListener(inlis);
【问题讨论】:
-
拥有 4 个不同的侦听器可能更容易。但是你试过
event.getRelatedActor()吗? -
我环顾四周,没有发现任何东西。我将如何在 if 语句中使用它来检查按下了哪个演员?
-
最简单的方法是给每个演员一个名字并检查
event.getRelatedActor()的名字。但最好为此创建一个新类并对其进行参数化。
标签: android button libgdx actor stage