Cocoa學習筆記Cocoa2d基礎學習是本文要介紹的內容,編程人員應該對遊戲開發應該是由衷的熱愛,那麼本文可以幫你解決一些問題。如果你是初學者,本人覺得你有必要閱讀一番。不多說,來看詳細內容。
cocoa2d基礎
遊戲引擎:
一、情境CCScene
1.展示類情境 2. 選項類情境 3.遊戲情境
每個情境都是通過不同的層(layer)的疊加和組和來實現 不同的功能的。因此,通常生個情境都是有一個或者幾個層組成的。
二、層CCLayer
層是我們寫遊戲的重點,我們大約99%以上的時間是在層上實現我們的遊戲內容。
eg:一個遊戲主菜單畫面是由3個層疊加實現的:Background layer Animation layer Menu layer
為了讓不同的層可以組合產生統一的效果,這些層基本上都是透明或者半透明的,層的疊加有順序的,如同事件響應機制。
Cocoa2d從技術實現角度提供一些公用層:處理菜單的菜單層(Menu),處理顏色的顏色層(ColorLayer)等.
每一層又可以包含很多各式各樣的內容要素:文本(Label) 連結(HTMLLabel) 精靈(Sprite) 地圖等。
三、精靈 CCSprite
精靈是整個遊戲開發處理的主要對象,地方的飛機。坦克是系統AI控制的精靈,代表玩家控制的我方飛機也是精靈。甚至隨機飛過的一片雲,一隻鳥都是精靈。
特點:位置移動 旋轉 放大縮小 運動
四、導演 CCDirector
精靈不應該依賴層,層不應該依賴情境,情境不應該依賴流程。
導演代表流程,負責遊戲全過程的情境切換,接受層對象/情境的要求,按照預先設計好的流程來終止,壓橈,啟用當前情境,引導下一個情境。但導演通常只有一個,這個是間例(singleton).Coco2D架構已經預定義了該執行個體,不需建立,直接使用即可。
任何時間,只有一個Scene對象執行個體處於運行啟用狀態,該對象可以作為當前遊戲內容的對象的整體包容對象,對於Menu菜單對象,繼承Layer對象),通常屬於當前情境的主層。
Cocos2D-iPhone的實作類別
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;
CCScene
目前的版本基本上沒有附加任何特殊功能,基本上可以看成是層Layer對象的一個容器。
CCLayer
功能:接收iPone上的螢幕觸摸touch操作輸入
接收動力感知輸入
直接提供了以下三個層:
ColorLayer顏色層(可以通過setContentSize設定層大小,改變顏色塊的尺寸)
Menu菜單層(執行個體必須是MenueItem類或者子類的執行個體)
MultiplexLayer複合層 可以包含多個層的複合層。
CCSprite
一個獨立的映像塊,通常情況它是運動的(Action):移動 旋轉 放大縮小 等效果。
我們可以設定Sprite的屬性讓它運動,也可以通過動作Action來達到同樣的目的。(95%內容是精靈實現類比)
1.緩衝映像內容,減少相同內容檔案的讀取次數
2.批量提交繪畫,減少OpenGL函數的調用次數。
迓有一個叫CCSpriteFrameCache 類。該類用亍管理勱畫效果的全部幀映像,該類直 接提供針對一個簡單的影像處理工具 http://zwoptex.zwopple.com/輸出檔案支援。
小結:Cocoa學習筆記Cocoa2d基礎學習 初學者必看的內容介紹完了,希望本文對你有所協助!如果對遊戲開發感興趣的友們,請參考編輯精選。