libgdx - 等待完成一个演员的动作
libgdx - wait to complete an action of an actor
我的问题是我想让演员做一个动作(在本例中是淡入淡出)并在动作结束后立即切换到游戏屏幕。不过动作说完还没完成,不过赶紧换了游戏画面。
我想等到完成此操作后再更改屏幕.. 总的来说,我想知道如何在游戏中制作等待指令,因为有时候在任何事情发生之前想要留出一些时间是件好事。
myActor.addAction(Actions.fadeIn(2));
setScreen(AnotherScreen);
您需要做的是创建一个 Action
子类并覆盖 Action#act
,您将在其中调用 setScreen(AnotherScreen);
。
然后,使用 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
));
有关更多信息,请查看:https://github.com/libgdx/libgdx/wiki/Scene2d#complex-actions
对操作使用静态导入,方式更简单。
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!");
}
});
将您想要的代码 运行 放入 运行nable。
欲了解更多信息,
我的问题是我想让演员做一个动作(在本例中是淡入淡出)并在动作结束后立即切换到游戏屏幕。不过动作说完还没完成,不过赶紧换了游戏画面。
我想等到完成此操作后再更改屏幕.. 总的来说,我想知道如何在游戏中制作等待指令,因为有时候在任何事情发生之前想要留出一些时间是件好事。
myActor.addAction(Actions.fadeIn(2));
setScreen(AnotherScreen);
您需要做的是创建一个 Action
子类并覆盖 Action#act
,您将在其中调用 setScreen(AnotherScreen);
。
然后,使用 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
));
有关更多信息,请查看:https://github.com/libgdx/libgdx/wiki/Scene2d#complex-actions
对操作使用静态导入,方式更简单。
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!");
}
});
将您想要的代码 运行 放入 运行nable。
欲了解更多信息,