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


1. 第2个场景的 scene 方法


2. 第2个场景的 init 方法


3. 第2个场景的 onEnter 方法


4. 转场


5. 第1个场景的 onExit 方法


6. 第2个场景的 onEnterTransitionDidFinish 方法


7. 第1个场景的 dealloc 方法

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


onEnterTransitionDidFinish() 是在完全进入场景后开始执行的。



因为在弄场景的延时跳转,游戏一开始显示公司Logo,然后显示游戏场景界面。



在第一个场景welcomScene的 onEnter()  开始场景跳转的事件。 延时3秒。


void WelcomScene::onEnter()  
{  
   //跳转场景  
   CCScene* pScene=InverseWarsScene::scene();  
   CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(3,pScene));  
}  



这里要用到播放背景音乐,背景音乐可以在一开始进入场景 onEnter() 时候进行预加载,然后在完全进入场景 onEnterTransitionDidFinish() 的时候开始播放音乐。

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");  
}  


☟☟可点击下方广告支持一下☟☟

最后修改:1970 年 01 月 01 日
请我喝杯可乐,请随意打赏: ☞已打赏列表