cocos2d-x項目101次相遇: Scenes , Director, Layers, Sprites

  • cocos2d-x 101次相遇 / 目錄
    1   安裝和環境搭建 -xcode
    2   Scenes , Director, Layers, Sprites
    3   建立圖片菜單
    4   在HelloWorld上--建立新場景
    5   增加一個精靈sprite
    5.1   縮小sprite並使之完整顯示
    6   action ,移動sprite
    7   3.0 的點擊事件,CCTouchDelegate已經停用了
    8   使用觸摸事件移動 精靈


2.Scenes  , Director, Layers, Sprites


開發cocos2d 應用程序,必須先了解如下4個概念:

Scenes

Director

Layers

Sprites

Scenes

scene( CCScene)app 工作流上獨立塊。scene也叫做 screents 或者“stages”. 一個app可能擁有多個scenes, 但在任何時候只能有一個是激活狀態的。舉個例子,某個遊戲可能擁有如下scenes: Intro, Menu菜單, Level 1, Cutscene 1, Level 2, Winning cutscene, losing cutscene,High scores screen等等. 可以把這些scenes定義成獨立的應用塊;這些scenes之間包含了相互連接的邏輯(當中斷或者完成,intro會進入menulevel1 引導您渠道cutscene 1 假如完成或者丟失cutscene,等)

一個cocos2dCCScene 對象由一個或多個layers組成(layerCCLayer 對象),layers之間是前後相連的。layer提供了scene的外觀 appearance和行爲behavior;通常的用法是直接用一個或多個layers實例化一個scence; CCScene的子類CCTrasitionScene 實現移動transitions , 提供兩個scenes 之間的轉移效果((比如fade out/in, slide from a side, 等效果).)由於scenes CCNode子類,所以scenes可以手工或者用actions來轉變座標。

Director

CCDirector 負責scenes之間的前進或後退。

CCDirectorsingleton模式的共享的對象。它知道當前哪個scene是激活。 CCDirectorstack的方式處理scenes的調用(當另一個scene進入的時候,暫停當前的scene,完成之後再返回原來的 scene),CCDirector 負責更換CCScene, CCLayer push的時候,更換或結束當前的scene。另外:CCDirector 負責初始化OpenGL ES

Layers

層:Layers

CCLayer 對象定義了可描繪的區域,定義了描繪的規則。CCLayer可以實現半透明的效果,令您看到它背後的layers。概括地說:CCLayer 用於定義外觀和事件behavior。所以,當編寫cocos2d程序的時候,大部分工作就是編寫CCLayer的子類去實現所要的效果。

CCLayer 負責處理事件eventEvents 會從第一個向最後一個layers傳遞,直至某個layer獲取event並處理它。

雖然某個時候,你需要客戶化一個CCLayer類,cocos2d已經實現了多種功能的layers(比如菜單layer: CCMenu, 顏色層layer: CCColorLayer,等等)。

Layers 可以包含CCSprite 對象, CCLabel 對象和其它layer對象。layersCCNode的子類,所以他們也可以使用actions來轉換座標. See Actions for more detail about actions.

Sprites

cocos2dsprite對象就是一個可以移動、選擇、伸縮、動畫的2d圖形,CCSprite 對象的子成員中可以包含其它的CCSprite 對象。當CCSprite 對象轉換座標系的時候,它所包含的CCSprite 對象也會轉換轉換座標系。sprites CCNode 的子類, 所以他們也可以使用actions來轉換座標. See Actions for more detail about actions.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章