无法在舞台LIBGDX中检测到演员的触地事件

时间:2015-01-25 06:39:30

标签: java android libgdx touch-event

我正在用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类是否应该扩展另一个类?

1 个答案:

答案 0 :(得分:1)

创建新演员时是否设置了界限?重要的是,每个演员都应该设置界限,否则它不会记录任何触摸。 因此,actor构造函数应该类似于:

    public someActor(){
    setBounds(someActorXPosition, someActorYPosition, someActorWidth, someActorHeight);
    this.addListener(new InputListener(){
...rest of your code...

然后,无论何时你移动你的演员,都不要忘记设置新的界限。 为我工作