大佬教程收集整理的这篇文章主要介绍了Cocos2d-x多场景切换生命周期,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在多个场景切换时候,场景的生命周期会更加复杂。这一节我们介绍一下场景切换生命周期。
多个场景切换时候分为几种情况:
情况1,使用pushScene函数从实现HelloWorld场景进入setTing场景。
情况2,使用replaceScene函数实现从HelloWorld场景进入setTing场景。
情况3,使用popScene函数从实现SetTing场景回到HelloWorld场景。
我们参考HelloWorld重写SetTing层的中几个生命周期函数,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
bool
SetTing::init()
if
( !Layer::init() )
returnfalse;
}
......
returntrue;
}
void
SetTing::onEnter()
Layer::onEnter();
}
SetTing::onEnterTransitionDidFinish()
Layer::onEnterTransitionDidFinish();
}
SetTing::onExit()
Layer::onExit();
}
SetTing::onExitTransitionDidStart()
Layer::onExitTransitionDidStart();
}
SetTing::cleanup()
Layer::cleanup();
}
|
情况1时候,它的调用顺序如下图所示。
情况2时候,它的调用顺序如下图所示,从图中可见与上面不同是多出HelloWorld中cleanup函数,这也说明replaceScene函数会释放场景对象。
情况3时候,它的调用顺序如下图所示,从图中可见popScene函数时候调用SetTing中cleanup函数,这说明popScene函数会释放SetTing场景对象,当回到HelloWorld场景时候并不会调用init()函数,而是调用onEnter函数。
以上是大佬教程为你收集整理的Cocos2d-x多场景切换生命周期全部内容,希望文章能够帮你解决Cocos2d-x多场景切换生命周期所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。