您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx场景切换中init、onEnter、onEnterTransitionDidFinish的调用顺序

2014-05-17 23:36 501 查看
这些方法调用的先后顺序如下(使用 replaceScene 方法):

1. 第2个场景的 scene 方法

2. 第2个场景的 init 方法

3. 第2个场景的 onEnter 方法

4. 转场

5. 第1个场景的 onExit 方法

6. 第2个场景的 onEnterTransitionDidFinish 方法

7. 第1个场景的 dealloc 方法

在创建一个layer时,会自动调用到layer中的onEnter,在退出当前的layer时,会调用到onExit,在CCLayer中,有四个成员方法:

[cpp] view
plaincopy





void onExitTransitionDidStart();//2,创建完layer的时候调用,也就是1调用完之后调用

void onEnter();//1,创建时调用

void onExit();//3,退出当前layer的时候调用,在这里都是做一些清除工作

void onEnterTransitionDidFinish();//在3完成之后,调用该成员方法

[cpp] view
plaincopy





void onEnterTransitionDidFinish();

当此节点所在场景的入场动作结束后,会调用 此方法。如果所在场景没有入场动作,则 此方法会紧接着onEnter()后被调用。

[cpp] view
plaincopy





void onExitTransitionDidStart();

当此节点所在场景的出场动作结束后,会调用此方法。如果所在场景没有出场动作,则此方法会紧接着onExit()后被调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: