【问题标题】:How to pause and resume andengine game?如何暂停和恢复和引擎游戏?
【发布时间】:2014-02-28 12:12:06
【问题描述】:

我正在使用游戏引擎为 Android 开发游戏。我想在游戏屏幕上有一个暂停和恢复按钮。

我已经通过使用 MenuScene 和暂停我正在使用的游戏来实现这一点

engine.stop();

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

如何重新启动引擎?

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

【问题讨论】:

  • 请检查我的回答。它可能对你有帮助

标签: android andengine game-engine


【解决方案1】:

好的,虽然我不是andengine的专业人士,但我可以提供一些建议。首先,停止引擎不是您正在寻找的暂停解决方案。因此,我的意思是,您必须手动进行,而不是这样做;

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

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

  • 即可
  • 保存重要数据: 如果你有一些重要的数据,你必须先保存。我不会给出详细的信息,但如果你不知道如何存储数据,你可以在谷歌上寻找SQLite和SharePreferences。

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

【讨论】:

    【解决方案2】:

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

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

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

    然后,要恢复游戏,您可以:

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

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

    【讨论】:

    • 您的答案有效。但是我有疑问,如果我有其他 childScene 附加到我当前的 GameScene。 mScene.clearChildScene();也会清除那些childScenes。有什么办法可以解决这个问题。
    【解决方案3】:

    暂停游戏:

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

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

    恢复游戏:

     GameScene.gameScene.clearChildScene();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多