Cocos2D學習筆記(1) 常用的類

2022-05-06 14:18:10 字數 2504 閱讀 3097

1、座標系

>螢幕座標系(uikit):原點在左上角!

>opengl座標系:原點在螢幕的左下角!

2、遊戲設計:director——scene——layer——sprite。

>ccdirector:導演類,相當於是遊戲策劃,負責整個遊戲的布局和執行規則的制定。

>ccscene:場景類,每個場景可以是乙個介面或乙個關卡。

>cclayer:圖層類,為了方便遊戲介面的渲染管理。

>ccsprite:精靈類,

小結:乙個導演類(ccdirector)可以指揮多個場景類(ccscene),乙個場景類裡面可以有多個圖層(cclayer),乙個圖層裡可以有多個精靈(ccsprite)被顯示。

3、節點類(ccnode)

>節點類是cocos2d-x裡的主要類,繼承自ccobject。

>任何需要華仔螢幕上的物件都是節點類。例如:最常用的ccscene,cclayer,ccsprite,ccmenu類都是繼承自ccnode類。

>節點類的主要功能:

>每個節點都可以有子節點。

>節點含有週期性**方法(schedule、unschedule等)。

>節點可以有動作(ccaction)。

>ccnode可以為它自己和子節點新增額外的功能。

>子節點可以有一些相對于父節點的動作(ccaction)。

4、場景類(ccscene)

>ccscene類繼承自ccnode類。

>cctransitionscene類是ccscene類的子類,是切換場景類,提供許多場景切換時的效果函式。

>不要在節點初始化的ini函式中呼叫replacescene函式,導演類不允許在乙個節點初始化的呼叫場景替換,否則會導致程式奔潰。

>壓入場景(pushscene)和彈出場景(popscene)。他們都可以用來顯示場景和保留當前場景並顯示新場景;不同的是他們不把舊場景從記憶體中釋放掉,這樣可以提高載入速度,這時需要注意,如果記憶體不足的話,建議使用replacescene函式。

5、圖層類(cclayer)

圖層類(cclayer)是ccnode類的子類,並且在此基礎上實現觸屏事件**(toucheventsdelegate)協議,可以實現ccnode類的供能,並且可以處理輸入,包括感測器,加速度感測器。

>每個遊戲場景都可以有很多個圖層,每一層負責各自的任務。

子類:>顏色布景層類(cclayercolor):包含cclayer的功能,並提供兩個拓展功能,可以為布景層新增顏色,以及設定不透明度。

>多層布景層類(cclayermultiplex):用來管理同乙個場景中的不同layer!

>選單類(ccmenu):ccmenu是乙個選單項的容器,用來裝載各種選單項。選單項可以是文字,!ccmenu還提供了alignitemsvertically和align-itemshorizontally等函式,分別表示垂直對齊和水平對齊。

>控制項類(cccontrol):

>拖動滑塊控制項類(cccontrolslider);

>顏色選擇盤控制項類(cccontrolcolourpicker);

>開關按鈕 控制項類(cccontrolswitch);

>按鈕控制項類(cccontrolbutton);

6、精靈類(ccsprite)

精靈類ccsprite是一張二維的物件,他可以用一張或者一張的一塊矩形部分來定義。

>貼圖類(cctexture2d);在openggl中稱為貼圖,在cocosd-x中cctextured就是物件的意思,可以通過它建立精靈等物件。cctexture2d類是精靈類和其相關基礎的基礎。

>精靈批處理類(ccspritebatchnode);

>精靈幀類(ccspriteframe);精靈幀類的概念是相對於動畫兒產生的。乙個精靈是固定節點,他可以擁有許多精靈幀,在他們之間切換就形成了動畫。

>精靈幀快取類(ccspriteframecache);精靈幀快取類ccspriteframecache用來儲存精靈幀,提前快取起來有助於提高程式的效率。ccspriteframecache是乙個單例模式,不屬於某個精靈類,是所有精靈共享使用的。

7、攝像機類(cccamera)

所有的節點都擁有乙個攝像機類cccamera。只有通過攝像機類,節點才能被渲染出來。當節點發生縮放旋轉和位置變化的時候,都需要覆蓋cccamera類,讓cccamera類重新渲染。

8、容器類

>ccarray類可以理解成是乙個陣列的容器,裝載的物件只要是ccobject的子類就可以。

>ccdictionary字典類;

9、拖動漸隱效果類(ccmotionstreak)

10、繪製圖形

11、時間排程

12、動作類(ccaction)

>有限時間動作(ccfinitetimeaction)

>瞬時動作(ccactioninstant):顧名思義,就是直接呼叫結果的動作,這中間不產生任何的動畫效果,其中執行**函式。

>延時動作(ccactioninterval):會在呼叫時形成動畫效果。

>跟隨(ccfollow)

>移動速度(ccspeed)

cocos2d學習筆記

粒子系統,使用系統自己的粒子系統的書寫方法 if cclayer init return false cctexture2d fire cctexturecache sharedtexturecache addimage fire.png ccparticlesystem firepartical ...

cocos2d 學習筆記

ccdirector類,簡稱director 導演 是cocos2d遊戲引擎的核心。director是乙個單例 它儲存著 cocos2d的全域性配置設定,同時管理著cocos2d的場景。director的主要用處如下 1.訪問和改變場景 2.訪問cocos2d的配置細節 3.訪問檢視 opengl,...

cocos2d 學習筆記 2

ccspritebatchnode的作用很像cclayer,因為它本身並不顯示在螢幕上。不過 你只能把ccsprite加入ccspritebatchnode。ccspritebatchnode 將乙個檔名作為引數,使用這個引數的原因是所有被新增進 ccspritebatchnode的ccsprite...