Cocos2d x學習筆記1

2021-06-22 02:22:33 字數 2174 閱讀 7121

1.建立新的cocos2d-x 3.0 專案

在命令列中輸入:

cocos new helloworld(專案名稱)-p com.ss.pku(包名字)-l cpp(專案型別) -d d:\cocos\workspace(專案存放路徑)

2.資料夾分析

resource 資料夾 存放資源檔案

include和source檔案 存放標頭檔案和源**檔案

3.addchile方法,這個方法可以把乙個遊戲元素放置到另乙個元素之中。只有把乙個遊戲元素放置到其他已經呈現出來的遊戲元素中,它才會呈現出來。

1.以捕魚遊戲場景為例,場景可以大致分為四層。

菜單層、觸控層、動作層、背景層

2.關係圖中的每乙個元素稱作節點,關係圖稱作渲染樹。渲染場景的過程就是遍歷渲染樹的過程。

渲染樹的優勢在於我們只需要考慮節點相對于父節點的屬性,就可以逐層穿件複雜的物件和動作。

3.動作是由action類實現,派生出持續性動作actioninterval和瞬時性動作actioninstant。所有的動作都是派生自以上兩個類之一。

4.動畫;animation  是一種特殊的持續性動作,只能應用於精靈上。乙個幀動畫,是由多張靜止的不停切換形成。

5.cocos2d-x 所有的物件都建立在堆上。建立乙個物件首先要為物件分配記憶體,然後呼叫初始化方法來初始化物件。

6.使用建構函式建立的物件需要呼叫者負責釋放,而使用工廠方法則不需要。

7.使用初始化方法或者工廠方法建立物件,使用訪問器方法模擬屬性。cocos2d-x提供了object-c風格的容器ccarray和ccdictionary。

9.選擇器類似於c++中的類函式指標的機制,提供了建立選擇器的巨集,用來建立函式指標。巨集裡面的引數,表示被指向的類方法。

10.cocos2d-x實現了自己的根類ccobject,引擎中的所有類都派生自ccobject。每個物件包含乙個用來控制生命週期的引用計數器。

11.避免濫用autorelease(),只在工廠方法等不得不用的情況下使用,盡量以release()來釋放物件引用。

12.cocos2d-x 為我們提供了ccarray、ccdictionary等容器。

13.cocs2d-x記憶體管理的原則

程式段必須成對執行retain()和release()或者執行autorelease()來開始和結束物件的引用。

工廠方法返回錢,應該通過autorelease()結束對該物件的引用。

物件傳值時,應考慮到新舊物件相同的特殊情況。

盡量使用release()而不是autorelease()來釋放物件引用,以確保效能最優。

儲存ccobject的子類物件時,應嚴格使用cocos2d-x提供的容器,避免使用stl容器,物件必須以指標存入。

14.cclog cocos2d-x提供的日誌輸出函式。

1.ccdirector 控制遊戲流程的總管類,提供繪圖方面的選項以及平台相關的功能。遊戲呈現方面的設定,切換當前的遊戲場景。

管理場景的方法在p33頁,包括啟動場景,切換場景,將場景壓棧,將場景出棧,暫停,恢復和結束場景。注意的是,在載入場景,再進行切換,所以再載入完畢的瞬間,系統中會同時存在兩個場景。注意記憶體。

2.場景的翻頁、波浪、淡出淡入等場景,是派生自ccscene的cctransitionscene系列特效類來實現的。

3.ccsprite代表了遊戲中乙個最小的可見單位,說它靈活是由於裝載了乙個平面紋理,具有豐富的表現力,而且可以通過多種方式載入。

4.我們可以認為紋理就是一張,這張被精靈顯示出來。

5.ccsprite會自動把作為紋理載入到遊戲中,然後使用紋理初始化精靈。

6.zorder代表了該節點下元素的先後次序,值越大順序越靠上。

7.cocos2d-x存在兩種座標系。繪圖座標系,以左下角為原點。紋理座標係以左上角為原點。

8anchorpoint用於設定乙個錨點,以便精確地控制節點的位置和變換。它的兩個參量x和y的取值通常都是0到1之間的實數,表示錨點相對於節點長寬的位置。錨點在父節點中的座標實際上是它相對于父節點左下角的座標值。

10.定時器是使遊戲動態變化所需要的工具。我們捕魚的碰撞檢測機制可以通過update事件來實現。魚群的定時生成、免費金幣的定時重新整理,可以通過schedule定時器實現。

11.cocos2d-x 內建了三種特殊的層,cclayercolor乙個單純的實心色塊,cclayergradient,乙個色塊可以設定兩種顏色的漸變效果。ccmenu,十分常用的遊戲選單。

Cocos2d x學習筆記(1)

cocos2d x原型cocos2d,基於cocos2d iphone,跨平台。hello workd分析 1 resource 目錄 該目錄主要用於存放遊戲中須要的 音訊和配置等資源檔案。可在當中建立子目錄。resource 目錄能夠為預設遊戲執行時目錄。2 include 和 source 目錄...

Cocos2d x學習筆記(7)

1 動作基本概念 ccactiong是動作類的基類,動作作用於ccnode,因此,任何乙個動作都需要ccnode物件來執行。ccaction作為乙個基類,其實質是乙個介面 抽象類 由它派生的實現類才是實際使用的動作。ccaction的絕大多數實現類都派生自ccfinitetimeaction,這個類...

Cocos2d x動作學習筆記

action類如其名,它可以改變node物件的屬性,action物件是隨著時間改變node的屬性。任何乙個以node為基類的物件都有可執行的動作物件。例如,你可以在乙個時間段內將sprite精靈從乙個位置移動到另乙個位置。每個動作都有by和to兩個狀態。為什麼呢?因為它們所執行的結果是不同的。by相...