游戏中按返回键退回到菜单页面

研究半天,发现这个只要一按返回键就退出了,无论你是在那个界面(也就是场景)。细想下,其实本来也就是一个界面,场景都是自己添加的,所以一按返回键,等于在初始界面按返回键,就退出了。所以,我们只要在执行返回键操作的时候做手脚就好了。

翻了一下,发现CCDirector.sharedDirector().runningScene有这个,就是可以取到当前运行的场景,这个就够了。

首先,你的游戏页面一定要是一个类继承CCScene。如果是一个层的话,就不好操作了。 菜单页面是一个层也没有关系。

然后在Game1.cs里面,找到Update函数。在里面就能看到处理返回键的操作。

思路是,先判断是否是游戏界面,如果是游戏场景,那么就切换到菜单场景。否则退出。

大致代码如下:

 

if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)

            {

                CCScene pScene = CCDirector.sharedDirector().runningScene;

                //Debug.WriteLine(pScene.GetType().ToString());

                if (pScene.GetType().ToString() == "cocos2dPeopleRun.Classes.RunScene")

                {

                    CCScene mainScene = cocos2dPeopleRunScene.scene();

                    CCDirector.sharedDirector().replaceScene(mainScene);

                }

                else

                    this.Exit();

            }

 


这样,就能在游戏中按返回键退出到菜单页面了。。。差不多也算是曲线救国路线了。。。

 

你可能感兴趣的:(cocos2d-x)