Cocos2d運行原理說明CCDirector中主要任務就是切換遊戲中的每個場景。
在之前內容中,已經瞭解場景流程與圖層概念,今天就讓我們瞭解場景之間是如何串連切換。
CCDirector常用方法與屬性:
呼叫這個方法可以獲取Cocos2d當前唯一的CCDirector物件。
+ (CCDirector *)sharedDirector
透過CCDirector的runningScene屬性,獲得現在正在運行的場景。
@property (nonatomic, readonly) CCScene *runningScene
// 參數說明:
// scene: 你所要執行/切換的場景
// transition: 切換場景的特效
執行場景,只在第一次運行場景時使用,通常是在CCAppDelegate裡的-startScene方法內使用。
- (void)runWithScene:(CCScene *)scene
呼叫這個方法可以停下當前的場景,切換到新的場景。
- (void)replaceScene:(CCScene *)scene
呼叫這個方法可以停下當前的場景,切換到新的場景,並且透過CCTransition物件增加切換的特效。
- (void)replaceScene:(CCScene *)scene withTransition:(CCTransition *)transition
CCTransition:
這個物件能在兩場景換中增加一些轉場動畫,作為緩沖的效果。
參數說明:
duration: 動畫執行的時間
color: 轉場的漸變顏色
direction: 為CCTransitionDirection常數,可以設定轉場時的特效方向。
============================
CCTransitionDirection常數如下:
============================
CCTransitionDirectionUp,
CCTransitionDirectionDown,
CCTransitionDirectionRight,
CCTransitionDirectionLeft,
CCTransitionDirectionInvalid
============================
兩場景交錯淡入淡出的轉場效果
+ (CCTransition *)transitionCrossFadeWithDuration:(NSTimeInterval)duration
顏色漸變的轉場效果
+ (CCTransition *)transitionFadeWithColor:(CCColor *)color duration:(NSTimeInterval)duration
淡入淡出的轉場效果
+ (CCTransition *)transitionFadeWithDuration:(NSTimeInterval)duration
移動的轉場效果,可以可以透過direction設定移動的方向。
+ (CCTransition *)transitionMoveInWithDirection:(CCTransitionDirection)direction duration:(NSTimeInterval)duration
推入的轉場效果,可以透過direction設定推入動畫的方向。
+ (CCTransition *)transitionPushWithDirection:(CCTransitionDirection)direction duration:(NSTimeInterval)duration
滑動的轉場效果,可以透過direction設定滑動的方向。
+ (CCTransition *)transitionRevealWithDirection:(CCTransitionDirection)direction duration:(NSTimeInterval)duration
Cocos2d的轉場是不是很簡單,透過CCDirector方法與CCTransition參數,就能完成場景之間的串連。
現在們己經有十足的能力完成遊戲場景,並且進行串連。
透過每日的累積,將遊戲制作的拼圖一片片拼起來,相信我們很快就能完成自己的遊戲。