libgdx-等待完成参与者的操作

libgdx-等待完成参与者的操作,libgdx,action,delay,wait,actor,Libgdx,Action,Delay,Wait,Actor,我的问题是我想让一个演员做一个动作(在本例中是淡出),然后在动作结束后,切换到游戏屏幕。但动作还没有完成,却很快改变了游戏画面 我想在更改屏幕之前等待完成此操作。。总的来说,我想知道如何在游戏中制定等待指令,因为有时在任何事情发生之前留出一些时间是好的 myActor.addAction(Actions.fadeIn(2)); setScreen(AnotherScreen); 您需要做的是创建一个Action子类,并覆盖Action\act调用setScreen(另一个屏幕) 然后,使用Ac

我的问题是我想让一个演员做一个动作(在本例中是淡出),然后在动作结束后,切换到游戏屏幕。但动作还没有完成,却很快改变了游戏画面

我想在更改屏幕之前等待完成此操作。。总的来说,我想知道如何在游戏中制定等待指令,因为有时在任何事情发生之前留出一些时间是好的

myActor.addAction(Actions.fadeIn(2));
setScreen(AnotherScreen);

您需要做的是创建一个
Action
子类,并覆盖
Action\act
调用
setScreen(另一个屏幕)

然后,使用
Actions#sequence
将两个操作包装到一个
SequenceAction
对象中

Action switchScreenAction = new Action(){
  @Override
  public boolean act(float delta){
    setScreen(AnotherScreen);
    return true;
  }
};

myActor.addAction(Actions.sequence(
  Actions.fadeIn(2)
  , switchScreenAction
));

有关更多信息,请查看:

使用静态导入进行操作,这样更简单

import static com.badlogic.gdx.scenes.scene2d.actions.Actions.*;

Actor.addAction(sequence(fadeOut(2f), run(new Runnable() {
     public void run () {
         System.out.println("Action complete!");
     }
});
将要运行的代码放入可运行状态

欲了解更多信息