CCScene仅仅是个CCLayer的容器,游戏逻辑甚至界面元素都不会直接加入到Scene中

 本文探讨3个问题,其实也可以说是一个问题。


1. CCScene仅仅是个CCLayer的容器,游戏逻辑甚至界面元素都不会直接加入到Scene中。


2. CCLayer会加入界面元素,这是肯定的,比如:游戏menu, button,或显示的label等。游戏状态的显示,游戏设置,一定是在Layer中实现的。


3. 但CCLayer中应该加入游戏逻辑吗? 可以加入,很多游戏是这样做的,把精灵加入到CCLayer中,处理精灵的各种逻辑操作和行为。但这样并不好,比较好的做法是通过一个逻辑类来代替Layer完成这个工作。我们可以这样做,从CCNode继承一个新类,例如叫CGameLogic (或者CSpriteManager etc,根据功能起名字)

然后把精灵加入到CGameLogic,在这个类中,完成精灵的状态控制,游戏逻辑的实现。然后把CGameLogic加入到CCLayer中,这样CCLayer是游戏逻辑的容器,而不是游戏逻辑的实现。这样做的好处就是实现了逻辑和显示的分离,好处是很明显的,对以后的游戏维护,扩展以及组件的重用都是有好处的。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峻峰飞阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值