CCScene仅仅是个CCLayer的容器,游戏逻辑甚至界面元素都不会直接加入到Scene中
2013-07-10 11:26
197 查看
本文探讨3个问题,其实也可以说是一个问题。
1. CCScene仅仅是个CCLayer的容器,游戏逻辑甚至界面元素都不会直接加入到Scene中。
2. CCLayer会加入界面元素,这是肯定的,比如:游戏menu, button,或显示的label等。游戏状态的显示,游戏设置,一定是在Layer中实现的。
3. 但CCLayer中应该加入游戏逻辑吗? 可以加入,很多游戏是这样做的,把精灵加入到CCLayer中,处理精灵的各种逻辑操作和行为。但这样并不好,比较好的做法是通过一个逻辑类来代替Layer完成这个工作。我们可以这样做,从CCNode继承一个新类,例如叫CGameLogic (或者CSpriteManager etc,根据功能起名字)
然后把精灵加入到CGameLogic,在这个类中,完成精灵的状态控制,游戏逻辑的实现。然后把CGameLogic加入到CCLayer中,这样CCLayer是游戏逻辑的容器,而不是游戏逻辑的实现。这样做的好处就是实现了逻辑和显示的分离,好处是很明显的,对以后的游戏维护,扩展以及组件的重用都是有好处的。
1. CCScene仅仅是个CCLayer的容器,游戏逻辑甚至界面元素都不会直接加入到Scene中。
2. CCLayer会加入界面元素,这是肯定的,比如:游戏menu, button,或显示的label等。游戏状态的显示,游戏设置,一定是在Layer中实现的。
3. 但CCLayer中应该加入游戏逻辑吗? 可以加入,很多游戏是这样做的,把精灵加入到CCLayer中,处理精灵的各种逻辑操作和行为。但这样并不好,比较好的做法是通过一个逻辑类来代替Layer完成这个工作。我们可以这样做,从CCNode继承一个新类,例如叫CGameLogic (或者CSpriteManager etc,根据功能起名字)
然后把精灵加入到CGameLogic,在这个类中,完成精灵的状态控制,游戏逻辑的实现。然后把CGameLogic加入到CCLayer中,这样CCLayer是游戏逻辑的容器,而不是游戏逻辑的实现。这样做的好处就是实现了逻辑和显示的分离,好处是很明显的,对以后的游戏维护,扩展以及组件的重用都是有好处的。
相关文章推荐
- 业务逻辑与界面元素分离的一次小尝试
- 《开发之旅》学习笔记:游戏界面手动打造菜单基础元素
- 《开发之旅》学习笔记:游戏界面手动打造菜单基础元素
- 直接把软件界面做成游戏界面。CEGUI 专用游戏界面开发库。
- IE6 IE7 IE8 不会忽略数组直接量的末尾空元素
- Android示例程序剖析之Snake贪吃蛇(三:界面UI、游戏逻辑和Handler)
- java界面设计遇到的一些问题,往容器直接添加组建好事getContentPane()
- 游戏设计模式系列(一)—— 单线逻辑&&数据驱动,搞定最容易卡死的结算界面
- 游戏故事的叙述方式:在故事中加入特定的游戏元素
- ajax从服务器端取到json,直接显示json的元素,却为undefined的问题
- “音之国度”游戏UI界面分析(一级界面)
- 【安德鲁斯】让我们超越容器限制的子元素、!如何实现更灵活的布局容器、!
- 第十章 Scala 容器基础(二十):使用reduce和fold方法遍历集合的所有元素
- 【COCOS2DX-ANDROID-游戏开发之二三】 界面中嵌入Android的WebView
- Ubuntu下允许Root用户直接登录图形界面
- STL容器的删除元素问题
- 商业Web应用程序界面元素控件集NetAdvantage for ASP.NET
- Ubuntu下允许Root用户直接登录图形界面
- C++ 网络通信和游戏逻辑分离
- 转载: STL序列式容器中删除元素的方法和陷阱一 .