Android 安发动机屏幕暂停按钮

Android 安发动机屏幕暂停按钮,android,andengine,Android,Andengine,我想在andengine中创建一个屏幕上的暂停按钮 我现在要做的是添加一个精灵,当我触摸它时,我会执行engine.stop(),问题是,在我恢复游戏之前,引擎不会处理更多的触摸事件(现在我使用菜单按钮),所以有没有办法实现它 谢谢 看看AndEngine的例子,有一个项目展示了菜单在AndEngine中的使用,你会找到一种更好的实现菜单的方法,而不是停止引擎。祝你好运 我要做的是在文件中添加一个“暂停”布尔值,然后让按钮将其设置为true,然后使用if(!pause){…}块包围引擎更新程序,

我想在andengine中创建一个屏幕上的暂停按钮

我现在要做的是添加一个精灵,当我触摸它时,我会执行engine.stop(),问题是,在我恢复游戏之前,引擎不会处理更多的触摸事件(现在我使用菜单按钮),所以有没有办法实现它


谢谢

看看AndEngine的例子,有一个项目展示了菜单在AndEngine中的使用,你会找到一种更好的实现菜单的方法,而不是停止引擎。祝你好运

我要做的是在文件中添加一个“暂停”布尔值,然后让按钮将其设置为true,然后使用
if(!pause){…}
块包围引擎更新程序,使其在暂停时停止更新。这不是最优雅的解决方案,但在我的游戏中起作用,在unpause上没有造成性能问题

Psedu代码

@Override
public boolean onKeyDown(final int pKeyCode, final KeyEvent pEvent) {
    if (pKeyCode == KeyEvent.KEYCODE_MENU && pEvent.getAction() == KeyEvent.ACTION_DOWN) {
        if (this.mEngine.isRunning()) {
            gSceneGlobal.setChildScene(this.mGamePauseScene, false, true, true);
            this.mEngine.stop();
        } else {
            gSceneGlobal.clearChildScene();
            this.mEngine.start();
        }
        return true;
    } else {
        return super.onKeyDown(pKeyCode, pEvent);
    }
}
我创建了我的类(MyEngine扩展引擎)并进行了更改

@Override
public boolean onTouch(final View pView, final MotionEvent pSurfaceMotionEvent) {                      
if(!isRunning()) {
  // add your code for engine.stop();
  }
}

并在游戏类中创建MyEngine引擎

您可以很容易地按屏幕上的暂停按钮。您需要做的是,在屏幕上的任何位置创建一个暂停按钮,在触摸该按钮时,在原来的暂停按钮上显示一个带有播放按钮的菜单。如果注释掉PauseMenu示例中的.buildAnimations()代码,则可以对MenuItem使用.setPosition()

为了展示这个想法,我做了一个简单的活动来展示它的可行性。看一看,自己试试看

链接:


GoodLuck

我发现最好的方法是创建一个场景,当暂停时,用这种方法设置覆盖onManagedUpdate

@Override
onManagedUpdate(float pSecondsElapsed){
 if(mPaused) super.onManagedUpdate(0);
 else        super.onManagedUpdate(pSecondsElapsed);
}

通过这种方式,所有功能都可以完美运行,您可以在游戏层上执行此操作,并像往常一样更新菜单层,

您的意思是我需要创建一个菜单层?,然后在其中添加暂停按钮?因为我希望我的暂停按钮在游戏中实现一个菜单场景,在游戏中添加一个按钮,并在该按钮上添加一个单击侦听器以在场景之间切换。检查AndEngineesExamples中的MenuExample项目,在该项目中,按下菜单键时会附加菜单场景。只需将此代码复制到按钮的onclick侦听器。祝你好运