touchDown()
イメージ アクターのイベントで簡単なテストを作成しました。イベントはステージでは機能しますが、俳優では機能しません。コードは次のとおりです。
InputProcessor
親クラスのコンストラクターにを設定します ( AbstractScreen
)。
Gdx.input.setInputProcessor(this.stage);
サブクラスで:
private TextureAtlas atlas;
private Image boardImg;
public void show(){
super.show();
atlas = new TextureAtlas(Gdx.files.internal("data/packs/mainMenu.atlas"));
AtlasRegion board = atlas.findRegion("board");
boardImg = new Image(board);
boardImg.addListener(new InputListener(){
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){
Gdx.app.log("aaaa", "down");
return true;
}
});
stage.addActor(boardImg);
stage.addListener(new InputListener() {
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.log("aaaa", "stage down");
return true;
}
});
}
@Override
public void resize(int width, int height) {
super.resize(width, height);
boardImg.setPosition(stage.getWidth()/2 - boardImg.getWidth()/2, stage.getHeight()/4);
}
デスクトップとアンドロイドの両方でテストしています(結果は同じです)。「ステージダウン」イベントは発生しますが、俳優のイベントは発生しません。ステージイベントなしでもやってみました。