这些方法调用的先后顺序如下(使用 replaceScene 方法):


1. 第2个场景的 scene 方法


2. 第2个场景的 init 方法


3. 第2个场景的 onEnter 方法


4. 转场


5. 第1个场景的 onExit 方法


6. 第2个场景的 onEnterTransitionDidFinish 方法


7. 第1个场景的 dealloc 方法

onEnter()   是在进入场景的一瞬间就开始执行了。

<p>
    <br />
</p>
<p>
    onEnterTransitionDidFinish() 是在完全进入场景后开始执行的。
</p>
<p>
    <br />
</p>
<p>
    <br />
</p>
<p>
    因为在弄场景的延时跳转,游戏一开始显示公司Logo,然后显示游戏场景界面。
</p>
<p>
    <br />
</p>
<p>
    <br />
</p>
<p>
    在第一个场景welcomScene的 onEnter() &nbsp;开始场景跳转的事件。 延时3秒。
</p>
<p>
    <br />
</p>
<p>
void WelcomScene::onEnter()  
{  
   //跳转场景  
   CCScene* pScene=InverseWarsScene::scene();  
   CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(3,pScene));  
}  
</p>
<p>
    <br />
</p>
<p>
    <br />
</p>
<p>
    这里要用到播放背景音乐,背景音乐可以在一开始进入场景 onEnter() 时候进行预加载,然后在完全进入场景 onEnterTransitionDidFinish() 的时候开始播放音乐。
</p>
<p>
void InverseWarsScene::onEnter()  
{  
   //在刚进入界面的时候预加载背景音乐,在inverseWarsScene场景开始播放音乐  
   CocosDenshion::SimpleAudioEngine::sharedEngine()-> preloadBackgroundMusic("Audio/Background/ChmpSlct_BlindPick.mp3");  
}  
 
 
//在完全进入这个场景后开始执行的事件  
void InverseWarsScene::onEnterTransitionDidFinish()  
{  
   //完全进入场景后开始播放音乐  
   CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("Audio/Background/ChmpSlct_BlindPick.mp3");  
}  
</p>

Last modification:January 1st, 1970 at 08:00 am
如果觉得我的文章对你有用,请随意打赏: ☞已打赏列表