守望者--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/)