java - 在 Scene2d 中使用 TouchDown 事件移动 Actor

标签 java libgdx scene2d

我正在寻找一种在 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/

相关文章:

java - 将 Freetypefont 放入 libgdx 皮肤

java - 从 Fragment 启动 Activity 抛出 ClassNotFoundException

eclipse - 如何使用Gradle构建BaseGameUtils

java - 尝试加载文件时java中的空指针异常

image - 使用libgdx,如何将文本和图像同时添加到ScrollPane?

java - libgdx 在矩形内缩放/拖动

java - NASA Worldwind : How can I change the color of the speed leader for tactical symbols?

java - 安卓选项菜单

java - 将 javafx 图像转换为 base64 或从 base64 转换为 base64

java - LibGdx (OpenGl ES/Android) - 多次调用 Texture.createGLHandle 返回覆盖它的新创建纹理的 textureid