这些方法调用的先后顺序如下(使用 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"); }
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/165.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!