2012-03-24 7 views
4

私は舞台に俳優がいて、ヒットしてタッチダウンが呼ばれていますが、タッチアップとタッチドラッグはありません。何が間違っているかについてのアイデア?libgdx touchupとtouchdraggedは呼び出されていませんが、タッチダウンは

............ 
    stage = new Stage(0, 0, true); 
    Gdx.input.setInputProcessor(stage); 
........... 

    @Override 
    public Actor hit(float arg_x, float arg_y) { 
     if ((arg_x > this.location.x) && (arg_x < (this.location.x + 40)) && (arg_y >  this.location.y) && (arg_y < (this.location.y + 40))) { 
      Gdx.app.log("Tile", "hit char = " + this.GetLetter()); 
      return this; 
     } 
     return null; 
    } 

    @Override 
    public boolean touchDown(float arg_x, float arg_y, int arg2) { 
     Gdx.app.log("Tile", "down char = " + this.GetLetter()); 
     return false; 
    } 

    @Override 
    public void touchDragged(float arg_x, float arg_y, int arg2) { 
     Gdx.app.log("Tile", "tile dragged"); 
    } 

    @Override 
    public void touchUp(float arg_x, float arg_y, int arg2) { 
     Gdx.app.log("Tile", "touchUp"); 
    } 

答えて

9

私は別のフォーラムで答えを見つけました。

public boolean touchDown(float arg_x, float arg_y, int arg2) { 
     Gdx.app.log("Tile", "down char = " + this.GetLetter()); 
     return false; 
    } 

は、それがむしろfalseよりtrue返す必要があり、ある

public boolean touchDown(float arg_x, float arg_y, int arg2) { 
     Gdx.app.log("Tile", "down char = " + this.GetLetter()); 
     return true; 
    } 

でなければなりません。適切な時に他のメソッドが呼び出されます。

関連する問題