cocos2dx 游戏开发中常用场景切换方式以及特性
runWithScene(CCScene* scene):启动游戏,并运行scene 场景。这个方法在主程序启动时第一次启动主场景时调用。
replaceScene(CCScene* scene):直接使用传入的scene 替换当前场景来切换画面,当前场景将被释放。这是切换场景时
最常用的方法。
pushScene(CCScene* scene):在不释放旧场景内存的情况下运行新场景,推进新场景相当于在当前可见的纸上再放一张纸,而之前的纸位置何持不变。适用情况:
1.推进一个经常被用到的场景,例如游戏中的Setting场景。
2.当想要保留最初场景状态时,而不想保留和加载状态。例如在游戏过程中查看排行榜,推进排行榜场景时,游戏场景不会继续运行,会被暂停。
popScene:释放当前场景,再从代执行场景栈中弹出栈顶的场景,并将其设置为当前运行场景。如果栈为空,则直接结束应用。与pushScene 成对使用,可以达到形如由主界面进入设置界面,然后回到主界面的效果。
由于每当在推进场景时,需要保证总是有足够的额外内存可供推进的场景使用,但这一点很难测试。建议要推进的场景都应该是轻巧的,只占用少量的内存,并且只弹出自身,而不会推进其它场景
pause :暂停当前运行场景中的所有计时器和动作,场景仍然会显示在屏幕上。
resume:恢复当前运行场景中被暂停的计时器和动作。它与 pause 配合使用。
end :结束场景,同时退出应用。