cocos2d-xna 游戏中如何控制后退键实现目的性跳转
2013-02-18 14:34
423 查看
在实际情况中,我们有时候需要根据不同的游戏场景来决定wp的后退“场景”。
所以,我们可以先建一个常量类,里面放上一个常量,用来标记不同页面的代表值,
例如:
然后再在不同场景的类的构造函数给之赋值
最后在Game1.cs里重写函数
完成。
所以,我们可以先建一个常量类,里面放上一个常量,用来标记不同页面的代表值,
例如:
class GameMain { public static int CurrentScreen; }
然后再在不同场景的类的构造函数给之赋值
class ChooseScreen : CCScene { private static ChooseScreen _current; public static ChooseScreen Current { get { GameMain.CurrentScreen = 1; if (_current == null) { _current = new ChooseScreen(); } return _current; } } private ChooseScreen() { this.addChild(new ChooseLayer()); } }
最后在Game1.cs里重写函数
protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { switch (GameMain.CurrentScreen) { case -1: case 0: this.Exit(); break; case 1: CCDirector.sharedDirector().replaceScene(MainMenuScreen.Current); break; case 2: string msg = "Quit Game?"; List<string> MBButtons = new List<string>(); MBButtons.Add("Yes"); MBButtons.Add("No"); Guide.BeginShowMessageBox("Game Over", msg, MBButtons, 0, MessageBoxIcon.Alert, GetMBResult, null); break; default: this.Exit(); break; } } base.Update(gameTime); } void GetMBResult(IAsyncResult r) { int? b = Guide.EndShowMessageBox(r); if (b == 0) { CCDirector.sharedDirector().replaceScene(ChooseScreen.Current); } }
完成。
相关文章推荐
- 如何在Cocos2D游戏中实现A*寻路算法(三)
- 如何在Cocos2D游戏中实现A*寻路算法(七)
- 如何实现从登陆界面跳转到游戏大厅界面
- 如何在Cocos2D游戏中实现A*寻路算法(三)
- 如何在Cocos2D游戏中实现A*寻路算法(四)
- 如何在Cocos2D游戏中实现A*寻路算法(七)
- Asp.net中如何实现后台控制前台的跳转
- 如何在Cocos2D游戏中实现A*寻路算法(四)
- 如何在Cocos2D游戏中实现A*寻路算法(七)
- 如何在Cocos2D游戏中实现A*寻路算法(四)
- cocos2d-x下硬件音量按键控制游戏音量的实现
- 如何在Cocos2D游戏中实现A*寻路算法(一)
- cocos2d-x游戏实例 《简单棋》入门尝试(五) 玩家控制效果的实现
- 转载:cocos2d-x下硬件音量按键控制游戏音量的实现
- 如何在Cocos2D游戏中实现A*寻路算法(一)
- 如何在Cocos2D游戏中实现A*寻路算法(一)
- 如何在Cocos2D游戏中实现A*寻路算法(五)
- Win8 Metro App里玩XNA:如何使用和移植cocos2d-xna游戏
- 如何在Cocos2D游戏中实现A*寻路算法(五)
- 如何在Cocos2D游戏中实现A*寻路算法(二)