现在的位置: 首页 > 综合 > 正文

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

2012年07月04日 ⁄ 综合 ⁄ 共 731字 ⁄ 字号 评论关闭

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

翻了一下,发现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();
            }

 


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

 

抱歉!评论已关闭.