在libGDX Scene2D中,有什么方法可以在完成动作之前停止它。我有一个演员在moveTo动作中间,但是当我将boolean gameOver设置为true时,我希望该演员停止在原处。我该怎么做?看起来很简单,但我无法弄清楚。

最佳答案

您可以通过以下方式停止Action


actor.removeAction(Action)actor.clearActions()删除它们
您可以覆盖actor.act(delta)方法,并且如果设置了gameOver则不要更新Actor(不要调用super.act()
如果已设置render,则在act中不要为stage调用gameOver


因此,基本上Action是通过actActor方法进行更新的。如果您将gameOver设置为true,则可以简单地阻止Stage更新:

在渲染中:

if (!gameOver) {
    stage.act();
}
stage.draw();

07-25 23:21