我正在用libgdx制作游戏。
每个级别都有一个班级。我为每个级别添加了一个阶段。演员也被添加到这个阶段。我曾经习惯在舞台上发现事件。
Gdx.input.setInputProcessor(stage);
level对象在另一个名为GameScreen的类中实例化。 GameScreen扩展了Game类。
我无法检测舞台上演员的触碰事件。我在每个actor上添加了以下代码来检测触摸。
this.addListener(new InputListener(){
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
System.out.println("touchdown at " + x + " " + y);
return true;
}
});
我有什么遗失的东西。我的Levels类是否应该扩展另一个类?
答案 0 :(得分:1)
创建新演员时是否设置了界限?重要的是,每个演员都应该设置界限,否则它不会记录任何触摸。 因此,actor构造函数应该类似于:
public someActor(){
setBounds(someActorXPosition, someActorYPosition, someActorWidth, someActorHeight);
this.addListener(new InputListener(){
...rest of your code...
然后,无论何时你移动你的演员,都不要忘记设置新的界限。 为我工作