cocos2d四個基本概念

2021-06-05 17:45:29 字數 1350 閱讀 3800

場景(ccscene)-主要為了作為容器物件

每個場景都是通過不同的局(layer)的疊加和組合協作來實現不同的功能的。

層(cclayer)-為了處理輸入問題

為了讓不同的局可以組合產生統一的效果,這些層基本上 都是透明戒者半透明的。

文字(label)、鏈結(htmllabel)、精靈(sprite)、地圖等等。其中,精靈是重點

主要功能就是接收iphone上的螢幕觸控(touch)操作輸入和動力感知(accelerometer)輸入

精靈(ccsprite)-為了展示靜態

精靈是整個遊戲開發處理的主要物件,地方的飛機、坦克是系統 ai 控制的精靈,代表玩家控制的我方飛機也是精靈。

建立和新增精靈的方式:

//

從影象檔案建立精靈(png, jpg),但要確保這個檔案已經匯入到resource裡面了

ccsprite

*mysprite

=[ccsprite spritewithfile:

@"mysprite.png

"];

//設定在場景中的位置,可以是螢幕的中心

mysprite.position

=ccp(

240,

180);

//加到場景裡去

:[self addchild: mysprite];

導演 (ccdirector)

乙個遊戲的整體架構,不同的場景由不同的局組成,每 個局又包括自己的精靈在局上運勱。玩家玩遊戲的過程就是在操作每個局上的精靈或者選單 選項,導致整個遊戲在不同的場景中切換。

director 物件管理場景的方法主要有以下幾個:

1.主程式啟勱,顯示第乙個場景的方法:(void) runwithscene:(scene*) scene;

2. 掛起當前當前正在執行的場景並壓棧到代執行場景佇列。將傳入場景設定為當前執行場景:(void) pushscene:(scene*) scene;

3. 執行代執行場景佇列中的最後乙個場景,當前場景被釋放:(void) popscene;當代執行佇列中沒有代執行場景時,系統自勱退出,呼叫 end 方法。

4. 直接用乙個場景取代當前執行場景,釋放當前場景:(void) replacescene:(scene*) scene;是經常實用的函式 

5.結束場景執行:(void) end;

6.暫停場景執行:(void) pause;畫面還存在,時間任務停止。

7.恢復場景執行:-(void) resume;

cocos2d的5個重要協議

5個重要協議 protocolccrgbaprotocol nsobject 設定 cccolor3b 結構的顏色資料 void setcolor cccolor3b color cccolor3b color 如果紋理有 premultiplied alpha 資料 那麼更改透明度同時會更改rgb...

Cocos2d如何實現乙個指標的新增節點

如何定義乙個指向npc的指標,struct npc pn 使用者在終端輸入npc的數量,動態分配npc的空間 include include typedefstruct npcnpc typedefstruct nodenode 乙個節點 node head null 定義頭結點 void addn...

Cocos2D兩個方法的重構一例

在rpg遊戲專案的gamespace類中原來有乙個方法 instancetype initwithgamescene gamescene gamescene mapname nsstring mapname 功能主要為用指定的地圖初始化遊戲空間布局,後來由於使用方便的原因,增加了乙個類似的方法 in...