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類重新渲染。
注意:這裡需要說明的是,在三維效果中,使用cccamera類是可以的,但是如果隻是一些二維特效的話,那麼更推薦使用ccfollow類。
8、容器類
>ccarray類可以了解成是一個數組的容器,裝載的對象隻要是ccobject的子類就可以。
>ccdictionary字典類;
9、拖動漸隐效果類(ccmotionstreak)
10、繪制圖形
11、時間排程
12、動作類(ccaction)
>有限時間動作(ccfinitetimeaction)
>瞬時動作(ccactioninstant):顧名思義,就是直接調用結果的動作,這中間不産生任何的動畫效果,其中執行回調函數。
>延時動作(ccactioninterval):會在調用時形成動畫效果。
>跟随(ccfollow)
>移動速度(ccspeed)