我正在寻找一种在 Actor 被触摸时移动它的方法。我已经尝试过下面的代码。但是,相关 Actor 缺乏支持触地事件,因此我收到 NullPointerException。
actor.addListener(new InputListener() {
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
event.getRelatedActor().addAction(moveBy(0,10,0.5f));
return true;
}
});
有什么建议吗?
最佳答案
您想使用getTarget()
获取事件源自的 Actor。
getRelatedActor()
方法适用于涉及两个参与者的事件(例如焦点更改或进入/退出事件)。这在文档中并不是特别清楚,但是如果您查看 FocusEvent阅读 getRelatedActor
的文档,您将看到它是如何使用的。
关于java - 在 Scene2d 中使用 TouchDown 事件移动 Actor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14878679/