Cocos2d-x 3.2 onEnter与onEnterTransitionDidFinish的区别

来源:互联网 发布:win7 for mac 安装iso 编辑:程序博客网 时间:2024/05/21 17:09
CCLayer类里的虚函数

onEnter()--------Layer界面只要显示一点就会调用 

onEnterTransitionDidFinish()--------Layer界面完全显示完全时候调用

onExit()

例如:
在第一个场景MenuScene的 onEnter()  开始场景跳转的事件。 延时3秒。
    void MenuScene::onEnter()    {        //跳转场景        Scene* mScene=GameScene::createscene();        Director::getInstance()->replaceScene(TransitionFade::create(3,mScene));    }
比如需要播放背景音乐,背景音乐可以在一开始进入场景 onEnter() 时候进行预加载,然后在完全进入场景 onEnterTransitionDidFinish() 的时候开始播放音乐。
<p class="p1"><span class="s1">void</span><span class="s2"> </span><span class="s3">MenuScene</span><span class="s2">::onEnter()</span></p><p class="p1"><span class="s4" style="font-family: Arial;">    </span><span class="s5" style="font-family: Arial;">//</span><span class="s2" style="font-family: Arial;">在刚进入界面的时候预加载背景音乐,在</span><span class="s5" style="font-family: Arial;">MenuScene</span><span class="s2" style="font-family: Arial;">场景开始播放音乐</span></p><p class="p1"><span style="font-family: Arial;">{</span></p><p class="p3"><span class="s6">    </span><span class="s3">SimpleAudioEngine</span><span class="s6">::</span><span class="s2">getInstance</span><span class="s6">()-></span><span class="s2">preloadBackgroundMusic</span><span class="s6">(</span><span class="s7">"Background/Background1.mp3"</span><span class="s6">);</span></p><p class="p1"><span class="s2">}</span></p>//在完全进入这个场景后开始执行的事件void MenuScene::onEnterTransitionDidFinish(){    //完全进入场景后开始播放音乐    <span class="s3" style="color: rgb(51, 51, 51); font-family: monospace; font-size: 14px; line-height: 26px; white-space: pre; background-color: rgb(240, 240, 240);">SimpleAudioEngine</span><span class="s6" style="color: rgb(51, 51, 51); font-family: monospace; font-size: 14px; line-height: 26px; white-space: pre; background-color: rgb(240, 240, 240);">::</span><span class="s2" style="color: rgb(51, 51, 51); font-family: monospace; font-size: 14px; line-height: 26px; white-space: pre; background-color: rgb(240, 240, 240);">getInstance</span><span class="s6" style="color: rgb(51, 51, 51); font-family: monospace; font-size: 14px; line-height: 26px; white-space: pre; background-color: rgb(240, 240, 240);">()-></span>playBackgroundMusic("Background/Background1.mp3");}


0 0