cocos2dx学习之路----第十章(Node节点生命周期详解)

这一篇我们就来看看Node节点的生命周期问题。

对于Node节点的生命周期,也称回调事件的回调。当对节点进行操作时,比如被添加或者移除,它默认都会调用自己的一些事件方法。现在就让我们看看属于它事件的回调方法有哪些,如下所示:

virtual void onEnter();				//被添加到场景中的节点时调用
virtual void onEnterTransitionDidFinish();	//被添加到场景中的节点完成时调用
virtual void onExitTransitionDidStart();	//开始从场景中的节点移除时调用
virtual void onExit();				//从场景中的节点移除完成后调用
virtual void cleanup();				//停止在场景中运行的所有节点状态
以上就是节点的生命周期回调函数。

好,现在让我们来看看这次要如何来测试它。

既然基本的显示类都与节点相关,我又用了LayerColor类来进行测试(不要问我为什么每次测试例子都有LayerColor这个类,哈哈,只是因为我觉得它比较适合和直观,关键的一点就是其实它可以代替精灵的显示从而避免了纹理的使用~不多说了哈,继续继续~)

然后既然是添加与移除,所以我就用了场景的切换来做这次的测试。至于如何能够看得出切换时的状态,其实一开始我是想用一个打印日志的方法来检测节点的状态的,不过好像效果不是很明显,并且没有分割线,在切换的时候可能状态一下字就一大堆,与上一次的状态输出可能混淆了,所以我就选用了微软的一个函数接口MessageBox。这个可以弹出一个小窗口出来,很方便。然后有两个参数,第一个是窗口内容,第二个是窗口的标题。嗯嗯,那现在就来看看测试的内容吧~

第一个测试:进入场景,初始化层并添加,对层的生命周期回调函数进行重写并检测它。我们先看下效果:


通过测试1,我们可以看到Layer1的生命周期回调的方法如下:

进入例子中的Layer1创建的场景:Layer1:init --> Layer1:onEnter --> Layer1:onEnterDidFinish

关闭Layer1场景当前应用程序:Layer1:onExit --> Layer1:cleanup

好,我们再来看看测试2:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值