遊戲中按返回鍵退回到菜單頁面

研究半天,發現這個只要一按返回鍵就退出了,無論你是在那個界面(也就是場景)。細想下,其實本來也就是一個界面,場景都是自己添加的,所以一按返回鍵,等於在初始界面按返回鍵,就退出了。所以,我們只要在執行返回鍵操作的時候做手腳就好了。

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

這樣,就能在遊戲中按返回鍵退出到菜單頁面了。。。差不多也算是曲線救國路線了。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章