如何暂停和恢复andengine游戏?

时间:2014-02-28 12:12:07

标签: android andengine game-engine

我正在使用游戏引擎为Android开发游戏。我希望在游戏画面上有一个暂停和恢复按钮。

我已经通过使用MenuScene和暂停我正在使用的游戏

实现了这一点
engine.stop();

但是一旦停止引擎,它就不会触发任何触摸或点击事件。

如何再次启动引擎?

或者实现相同的最佳方法是什么?

3 个答案:

答案 0 :(得分:4)

好的,虽然我不是发动机的专业人士,但我可以给出一些建议。首先,停止引擎不是您正在寻找的暂停解决方案。所以不是那样,你必须把它做成manuelly,我的意思是;

  • 停止搬家: 为此,如果您正在使用某些物理,则可以使用yourPhysicsWorld.unregisterPhysicsConnector()函数。 或者您可以将所有移动物体的速度设置为零(setVelocity(0,0)

  • 停止更新系统: 您只需使用yourScene.unregisterUpdateHandler()

  • 即可完成此操作
  • 保存重要数据: 如果您有一些重要数据,则必须先保存它们。我不会提供有关它的详细信息,但如果您不知道如何存储数据,则可以查找SQLiteSharePreferences谷歌。

提醒您如果要返回游戏,则必须将更新处理程序和物理连接器注册回场景。

答案 1 :(得分:2)

我发现暂停游戏的最简单方法是执行以下操作:

mScene.setIgnoreUpdate(true);
mScene.setChildScene(mPauseScene, false, true, true);

mScene是您的主要游戏场景时,mPauseScene是暂停场景。

然后,为了恢复游戏,你可以:

mScene.clearChildScene();
mScene.setIgnoreUpdate(false);

由于问题提到暂停/恢复按钮,我强烈推荐this tutorial。它以非常直接的方式显示了如何实现这样一个按钮。我在游戏中使用过它,效果很好。

答案 2 :(得分:0)

暂停游戏:

GameScene.gameScene.setChildScene(pauseScreen, false, true, true); 

将这些行添加到您的游戏屏幕中。这样您的游戏就会暂停

恢复比赛:

 GameScene.gameScene.clearChildScene();