1. 程式人生 > >Cocos2d-x 的onEnter() 和 onEnterTransitionDidFinish() 場景延時跳轉

Cocos2d-x 的onEnter() 和 onEnterTransitionDidFinish() 場景延時跳轉

onEnter()   是在進入場景的一瞬間就開始執行了。

onEnterTransitionDidFinish() 是在完全進入場景後開始執行的。

因為在弄場景的延時跳轉,遊戲一開始顯示公司Logo,然後顯示遊戲場景介面。

在第一個場景welcomScene的 onEnter()  開始場景跳轉的事件。 延時3秒。

  1. void WelcomScene::onEnter()  
  2. {  
  3.     //跳轉場景
  4.     CCScene* pScene=InverseWarsScene::scene();  
  5.     CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(3,pScene));  
  6. }  


這裡要用到播放背景音樂,背景音樂可以在一開始進入場景 onEnter() 時候進行預載入,然後在完全進入場景 onEnterTransitionDidFinish() 的時候開始播放音樂。
  1. void InverseWarsScene::onEnter()  
  2. {  
  3.     //在剛進入介面的時候預載入背景音樂,在inverseWarsScene場景開始播放音樂
  4.     CocosDenshion::SimpleAudioEngine::sharedEngine()-> preloadBackgroundMusic("Audio/Background/ChmpSlct_BlindPick.mp3"
    );  
  5. }  
  6. //在完全進入這個場景後開始執行的事件
  7. void InverseWarsScene::onEnterTransitionDidFinish()  
  8. {  
  9.     //完全進入場景後開始播放音樂
  10.     CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("Audio/Background/ChmpSlct_BlindPick.mp3");  
  11. }