我在Android上使用libGDX。我设置了舞台,并添加了带有自定义绘制的CustomActor。工作正常。但是,我无法通过此参与者的InputListener获得touchDragged方法的任何日志。即使其中的代码也无法运行。
这是所需的代码公开范围:
public class CustomActor extends Actor {
public CustomActor() {
this.setListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
return true;
}
@Override
public void touchDragged(InputEvent event, float x, float y, int pointer) {
//This log doesn't print up!
Gdx.app.log("CustomActor","touchDragged");
//This code doesn't work either
Vector2 v = CustomActor.this.localToParentCoordinates(new Vector2(x,y));
CustomActor.this.setPosition(v.x, v.y);
}
});
}
}
谁能帮我解决我所想念的问题?
最佳答案
添加您用作Stage
的InputProcessor
来接收事件,否则Stage
无法将事件转发给参与者。
Gdx.input.setInputProcessor(stage);
应该做。