1. scene: OtherScene
2. init: <OtherScene = 066B2130 | Tag = -1>
3. onEnter: <OtherScene = 066B2130 | Tag = -1>
4. // 这里运行了过渡效果
5. onExit: <FirstScene = 0668DF40 | Tag = -1>
6. onEnterTransitionDidFinish: <OtherScene = 066B2130 | Tag = -1>
7. dealloc: <FirstScene = 0668DF40 | Tag = -1>
2. init: <OtherScene = 066B2130 | Tag = -1>
3. onEnter: <OtherScene = 066B2130 | Tag = -1>
4. // 这里运行了过渡效果
5. onExit: <FirstScene = 0668DF40 | Tag = -1>
6. onEnterTransitionDidFinish: <OtherScene = 066B2130 | Tag = -1>
7. dealloc: <FirstScene = 0668DF40 | Tag = -1>
上面的是cocos2d里面的场景过渡日志,可以发现很有趣的,A场景过渡到B场景的时候,A场景发起replaceScene请求,就init B场景,然后执行B场景的onEnter函数,程序执行到这里,就说明B场景init完成,然后对A场景执行onExit和dealloc请求,最后请求A场景的onEnterTransitionDidFinish,这样就完成了2个场景的过渡了。
但是,这里会发现两个场景都会驻留在内存一段时间,如果B场景的init计算很重,内存很容易就不够用… 可是使用一个中间场景来做过渡,这样做可以优化内存使用.额,当然你也会发现很多游戏都这么实现的…好吧,我废话了…
原创文章,转载请注明: 转载自小黑米的生活
本文链接地址: [cocos2d] 游戏里面的场景过渡