在Scene2d中使用TouchDown事件移动Actor

时间:2013-02-14 15:49:51

标签: 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;
    }
});

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您希望使用getTarget()来获取源自该事件的Actor。

getRelatedActor()方法适用于涉及两个参与者的事件(如焦点更改或进入/退出事件)。这在文档中并不是特别清楚,但如果您查看getRelatedActor的{​​{3}}文档,您会看到它在那里的使用方式。