今天開始學習Cocos2D-x遊戲開發。
Cocos2D-x遊戲開發框架目前還不是很熟悉,作爲ITf伐木工我決定一點點將其搞定。
開始之前先普及一下知識:
scene(即 CCScene類)是app 工作流上獨立塊。scene也叫做
screents 或者“stages”. 一個app可能擁有多個scenes, 但在任何時候只能有一個是激活狀態的。
Cocos2D-x遊戲中游戲界面一場景CCScene爲單位,每個CCscene中都設定了一定的主題,包括背景,精靈以及場景規則。將不同的CCscene聯繫起來就組成了遊戲全局。那麼我們歷經千險構造好自己的場景之後如何在各個場景之間來回切換呢?新手看這裏了!!!!!
其實cocos2d-x已經爲我們實現了我們只要在需要的地方直接調用函數就可以了。
CCDirector::sharedDirector()->replaceScene(SScene scene);
CCDirector::sharedDirector()->PushScene(SScene scene);
其中切換的參數及較多具體如下:
CCTransitionJumpZoom
作用: 創建一個跳動的過渡動畫
參數1:過渡動作的時間
參數2:切換到目標場景的對象
reScene = CCTransitionJumpZoom ::create(t , s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionProgressRadialCCW
作用: 創建一個扇形條形式的過渡動畫, 逆時針方向
參數1:過渡動作的時間
參數2:切換到目標場景的對象
reScene = CCTransitionProgressRadialCCW::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionProgressRadialCW
作用: 創建一個扇形條形式的過渡動畫, 順時針方向
參數1:過渡動作的時間
參數2:切換到目標場景的對象
reScene = CCTransitionProgressRadialCW::create(t,s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionProgressHorizontal
作用: 創建一個水平條形式的過渡動畫,
參數1:過渡動作的時間
參數2:切換到目標場景的對象
reScene = CCTransitionProgressHorizontal ::create(t,s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionProgressVertical
作用: 創建一個垂直條形式的過渡動畫,
參數1:過渡動作的時間
參數2:切換到目標場景的對象
reScene = CCTransitionProgressVertical::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionProgressInOut
作用: 創建一個由裏向外擴展的過渡動畫,
參數1:過渡動作的時間
參數2:切換到目標場景的對象
reScene = CCTransitionProgressInOut::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionProgressOutIn
作用: 創建一個由外向裏擴展的過渡動畫,
參數1:過渡動作的時間
參數2:切換到目標場景的對象
reScene = CCTransitionProgressOutIn::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionCrossFade
作用:創建一個逐漸透明的過渡動畫
參數1:過渡動作的時間
參數2:切換到目標場景的對象
reScene = CCTransitionCrossFade::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionPageTurn
作用:創建一個翻頁的過渡動畫
參數1:過渡動作持續的時間
參數2:切換的目標場景的對象
參數3:是否逆向翻頁
reScene = CCTransitionPageTurn::create(t, s, false);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionFadeTR
作用:創建一個部落格過渡動畫, 從左下到右上
參數1:過渡動作持續的時間
參數2:切換的目標場景的對象
reScene =CCTransitionFadeTR::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionFadeBL
作用:創建一個部落格過渡動畫, 從右上到左下
參數1:過渡動作持續的時間
參數2:切換的目標場景的對象
reScene = CCTransitionFadeBL::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionFadeUp
作用:創建一個從下到上,條形摺疊的過渡動畫
參數1:過渡動作持續的時間
參數2:切換的目標場景的對象
reScene= CCTransitionFadeUp::create(t, s);
CCDirector::sharedDirector()->replaceScene(s);
CCTransitionFadeDown
作用:創建一個從上到下,條形摺疊的過渡動畫
參數1:過渡動作持續的時間
參數2:切換的目標場景的對象
reScene = CCTransitionFadeDown::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionTurnOffTiles
作用:創建一個隨機方格消失的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene= CCTransitionTurnOffTiles::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionSplitRows
作用:創建一個分行劃分切換的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene = CCTransitionSplitRows::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionSplitCols
作用:創建一個分列劃分切換的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene = CCTransitionSplitCols::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionFade
作用:創建一個逐漸過渡到目標顏色的切換動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
參數3:目標顏色
reScene= CCTransitionFade::create(t, s, ccc3(255, 0, 0));
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionFlipX
作用:創建一個x軸反轉的切換動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
參數3:反轉類型的枚舉變量 左右上下
kOrientationDownOver kOrientationLeftOver kOrientationRightOver kOrientationUpOver
reScene = CCTransitionFlipX::create(t, s, kOrientationRightOver);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionFlipY
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
參數3:反轉類型的枚舉變量 左右上下
reScene = CCTransitionFlipY::create(t, s
, kOrientationDownOver);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionFlipAngular
作用:創建一個帶有反轉角切換動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
參數3:反轉類型的枚舉變量 左右上下
reScene = CCTransitionFlipAngular::create(t, s, kOrientationLeftOver);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionZoomFlipX
作用:創建一個帶有縮放的x軸反轉切換的動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
參數3:反轉類型的枚舉變量 左右上下
reScene=CCTransitionZoomFlipX::create(t, s, kOrientationLeftOver);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionZoomFlipY
作用:創建一個帶有縮放的Y軸反轉切換的動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
參數3:反轉類型的枚舉變量 左右上下
reScene=CCTransitionZoomFlipY::create(t, s, kOrientationDownOver);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionZoomFlipAngular
作用:創建一個帶有縮放 ,反轉角切換的動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
參數3:反轉類型的枚舉變量 左右上下
reScene=CCTransitionZoomFlipAngular::create(t, s, kOrientationRightOver);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionShrinkGrow
創建一個放縮交替的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene = CCTransitionShrinkGrow::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionRotoZoom
創建一個旋轉放縮交替的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene = CCTransitionRotoZoom::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionMoveInL
作用:創建一個從左邊推入覆蓋的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene = CCTransitionMoveInL::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionMoveInR
作用:創建一個從右邊推入覆蓋的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene = CCTransitionMoveInR::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionMoveInB
作用:創建一個從下邊推入覆蓋的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene = CCTransitionMoveInB::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionMoveInT
作用:創建一個從上邊推入覆蓋的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene = CCTransitionMoveInT::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionSlideInL
作用:創建一個從左側推入並頂出舊場景的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene =CCTransitionSlideInL::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionSlideInR
作用:創建一個從右側推入並頂出舊場景的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene =CCTransitionSlideInR::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionSlideInT
作用:創建一個從頂部推入並頂出舊場景的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene =CCTransitionSlideInT::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
CCTransitionSlideInB
作用:創建一個從下部推入並頂出舊場景的過渡動畫
參數1:過渡動作的持續時間
參數2:切換的目標場景的對象
reScene =CCTransitionSlideInB::create(t, s);
CCDirector::sharedDirector()->replaceScene(reScene);
通過這些函數可以很好的實現場景的切換。