Cocoa學習筆記Cocoa2d基礎學習 初學者必看
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基礎學習 初學者必看的內容介紹完了,希望本文對你有所幫助!如果對游戲開發感興趣的友們,請參考編輯推薦。