守望者--AIR技术交流
标题:
cocos2d-x的状态机
[打印本页]
作者:
yaoyuan0701
时间:
2014-12-31 15:39
标题:
cocos2d-x的状态机
本帖最后由 yaoyuan0701 于 2014-12-31 16:06 编辑
coco2d-x之间的场景切换是通过跳转Scene,状态机的设计模式能帮助我们很好的管理场景。
通常我们做游戏都是 LoginScene->WelcomeScene->MainScene->WarScene->(winScene or LoseScene) 这种依次跳转场景也是最实用的,优点是条理清晰,缺点就是如果一个方法 另外场景也想调用 就很麻烦了。比如游戏里面都有背包系统吧 在MainScene里面有openBag的方法,如果你战斗场景也有需要打开背包的功能怎么办呢?当然在WarScene里面new MainScene也可以,但这个方法不是太高明。
状态机就是解决这个问题的很好策略:
新建个类叫GameScene. 所有的场景切换都在这个类里面实现。其他的场景类都继承GameScene类,那么这样就能保证游戏里面只有一个场景。openBag方法任何场景都能调用了。
状态机好处就是谁的方法谁去调。
欢迎光临 守望者--AIR技术交流 (http://www.airmyth.com/)