0
說,如果我有這樣的迴應InputListener演員應對另一InputListerner
如何從直到前一個完成
我有以下類響應另一個InputListener停止這個演員的演員:
類MyActor
public class MyActor extends Image {
public MyActor() {
super(new Texture("img.png"));
setPosition(100, 100);
debug();
}
}
類TestScreen
public class TestScreen implements Screen {
GameMain gameMain;
Stage stage;
MyActor myActor;
public TestScreen(GameMain gameMain) {
this.gameMain = gameMain;
}
@Override
public void show() {
stage = new Stage();
myActor = new MyActor();
//addlistener to actor
myActor.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
RotateByAction rba = new RotateByAction();
rba.setAmount(90.0f);
rba.setDuration(3.0f);
myActor.addAction(rba);
System.out.println("actor is rotating");
return true;
}
});
stage.addActor(myActor);
Gdx.input.setInputProcessor(stage);
}
@Override
public void render(float delta) {
stage.act(delta);
stage.draw();
}
}
確定但實際上我沒有使用動作時,演員被觸動我把它作爲一個例子 myactor當其他演員觸碰時做一些其他的東西 – MAGS94
不知道我完全理解。但是,如果您有ActorA,哪個onTouch()指示ActorB,C,D ...做事情,並且您希望B,C,D在ActorA上的Touch()發送更多消息之前完成?然後某種回調仍然適用。 B,C,D必須通知A他們已經完成了,並且A必須在將新事件傳遞給他們之前進行跟蹤。 Java的觀察者/可觀察模式可能工作。 A實現Observer接口,B,C,D是Observable(s),通知A有變化(在這種情況下,通知已完成)。 –