场景管理
CCScene 继承CCNode,是整个CCNode数的根节点,CCScene作用是为了联系所有CCNode节点(一般为他的子类CCLayer,CCSprite.....)
也就是我们只要清楚知道每个屏幕要显示的内容,并分别定义在不同的CCNode,然后统一加在CCScene中
执行 CCDirector->runWithScene(xxx);就可以了,在游戏中通过 234方法再切换CCScene,就可以做出各种游戏了
replaceScene 新场景入栈,并激活,旧场景出栈并释放(release)
pushScene 新场景入栈,并激活。旧场景 不release 多用于启动场景 应该尽量避免将一个大的场景压入堆栈 常用的一般都是replaceScene
popScene 出栈,当前执行的场景将被删除 默认渲染栈顶场景
runWithScene 将场景入栈,并激活。(只适用于整个App的第一个CCScene)
可以用pushScene + popScene做返回上一个场景 保留上次场景所有信息而不是初始化的最初场景
其余情况都用replaceScene
需要保留场景玩家位置等一些参数时用push 可以通过pop返回
pause() 暂停场景渲染和活动
resume() 恢复场景渲染和活动
你可以把场景里面需要保留和会在不同场景里面通用的东西封装进一个单例类里面 这样整个游戏期间都可以调用到 缺点就是这部
分会占用内存 一直不能得到释放 你要是把整个场景的东西保留下来 我觉得是不可取的 那样太费内存了 网上有说法是 切换场景 释
放内存是通用做法 可以想象一个简单的游戏会出现迟缓时候用户的心情
不需要场景管理类 直接用导演切换 有特殊要求时再考虑