跟着石頭哥哥學cocos2d-x(二)---2dx跨平臺編譯以及2dx概述

ps:目錄是2dx概述!!! html

上一節中我大概簡述了2dx引擎環境的搭建,在交叉編譯一律而過,這一節我將詳細說下這方面的內容, java

有人提出不用cygwin來編譯,用adt毫無壓力,額 我只想說 adt從我搞android就沒有碰過那玩意,一直用idea,如今的旗艦版idea12對android支持至關完美,搭配maven管理,發揮到極致。這就不說了,這裏我放出cygwin離線安裝:http://pan.baidu.com/share/link?shareid=4138200214&uk=3088193979,若是下在不了就告訴我下哈。 node

欲開發好比利器準備,這裏我推薦cygiwn+vs2012(屌絲一枚 不像土豪)+idea12+vs助手; python

cygin:模擬win上的linux編譯環境,vs開發語言c++ ,爲啥vs2012 ,額這個主題不錯深色的,不傷眼睛,idea12編譯app; linux

1.建立一個項目,固然建立項目多樣化,一種是直接在vs上建立(前提你已經按照上一節中安裝了模版),另外一種就是用python腳原本建立(也比較方即可以多個平臺都建立),這裏先說後面一種: android

        1.搭建python環境,這裏要裝pyhton版本是27的,筆者試過33的不行哈,環境搭建好了,切換cocos2d-x-2.2的目錄中進入到\tools\project-creator目錄下運行以下命令: ios

python create_project.py -project HelloWorld -package xxx.xxx.xxx -language cpp


hello word 是項目名稱,後面的是android上的命名規範,這樣執行,會在cocos2d-x的文件下project中生成helloword項目: c++

到這裏咱們用python就建立完畢了;注意這裏提一點,若是你要把這個項目拷貝出cocos2d-x文件夾單獨放另外地方,那麼注意不要忘記拷貝依賴褲哈; 算法

下面我直接用vs2012來建立,步驟: shell

1.注意不要勾的地方:




2.拷貝依賴庫到項目的proj.win32下,運行以下:


3.接下來是交叉編譯,建立android項目 額前面建立了哈  固然也能夠用creat-android-prioject.bat,注意指定好你的NDK路徑(上一節中每一提),首先編譯要組織文件這裏分享筆者用的:

http://pan.baidu.com/share/link?shareid=153393070&uk=3088193979

點擊,找到項目根目錄:

4.接下來就是編譯:

若是這樣,那麼就成功通常了,接下來編譯app(注:筆者以前是編譯了cocos2d-x的庫的 因此編譯很快就結束了,若是你第一次編譯就慢慢等吧)像這樣:

5.打開idea,選擇咱們的proj.android,別慌,先把cocos2d-x-2.1.4\cocos2dx\platform\android\java\src項目下的java文件拷貝到項目的src下,這個就是jni java套子 用這個來搞NDK 專用,否則不乾淨 也是沒得其餘  途徑的  ,沒法完成發佈app;

這就是idea,支持的android,目錄簡單介紹下:assets資源文件,gen我就不說了,搞android的都曉得,jni,mk和cpp,src中java文件,lib編譯過來的.so文件。

6.最後本身選擇模擬器,本身手機也行,應該能夠成功了,不行的話留言;

7.關於ios的編譯問題,由於ios中用xcode,因此你直接建立一個cocos2d-x項目,將class和資源文件拷貝到項目相應的目錄,那麼直接編譯發佈就行,這裏就不講解了筆者每一mac,唉等段時間還得呵呵;

學習一個引擎,應當對引擎有所瞭解,筆者在接觸他的時候,直接看源碼,固然首先仍是基礎了的,瞭解他是有什麼組成,內心有個數,不是東打西撞,筆者整理了下關於2dx的概述,本想下一個章節發佈詳說,仍是就這裏說了吧,下一節就開始真正的coocs2d-x之旅了;

大概以下,如下類容整理資源來自互聯網以及本身修改一些,但願你們仔細認真摸清楚,內心有個結構上的認識,否則寫代碼額這個幹啥幹啥,很差搞哦 死託硬搞 累,畢竟我是記不住,頂多熟悉,不清楚了看源碼的testcpp,源碼 ,直接上菜(注意必定要搞清楚!!!):


Cocos2d-x 總體描述

和傳統的遊戲引擎同樣,cocos2d-x做爲一個2d的遊戲引擎,其也有如下幾大概念組成:

導演(CCDiretor):

在cocos2d-x引擎中,CCDirector類是整個遊戲的組織和控制核心,遊戲的運行規則,遊戲內的CCScene(場景)、佈景(CCLayer)、角色(CCSprite)等的運動,均由CCDirector管理,其在遊戲中起着指定遊戲規則讓遊戲內的場景、佈景和任務有序的運行。在整個遊戲裏面,通常只有一個導演,遊戲開始和結束時,都須要調用CCDirector的方法完成遊戲初始化或銷燬工做,其提供了一些場景管理的方法,如runWithScene、DrawScene、pushScene和replaceScen等。

它控制FPS的顯示隱藏,窗口大小,遊戲的進入,退出,關卡的切換,取得正交模式,取得正在運行的場景,取得GL視圖,遊戲主循環入口等等

攝像機(CCCamera)  
    遊戲中每一個節點都須要攝像機,當節點發生縮放,旋轉和位置變化時,都須要覆蓋攝像機,讓這個節點經過攝像機進行從新渲染。

官方對於攝像機的描述是這樣的:CCCamera應用於每一個CCNode中。 在從不一樣視野觀察時起做用,OpenGL中的gluLookAt函數用來定位攝像機。 假如這個物體經過綻開、旋轉、或者平移,那麼這些操做將修改攝像機。 注意:使用攝像機或者操做旋轉、綻開、平移等屬性,你只能選其中一個,假如你使用攝像機,世界座標就會失去做用。 侷限性: 幾種節點,如CCParallaxNode,CCParticle使用世界節點座標,而且他們並不能正常工做,假如你使用攝像機移動他們(或者他們的任何父類)。 在成批的結點上(即一個結點上包含多個節點)如CCSprite對象不會正常工做當他們都從屬於一個CCSpriteBatchNode對象時。 推薦你只在建立3d特效時使用。對於2d特效來講,用CCFollow動做或者平移、綻開、旋轉更好。 
場景(CCScene)  
    在遊戲裏,場景就是關卡。關卡由人物角色和背景構成。在電影裏,場景就是電影中的各類場面,各類場面主要由人物活動和背景等構成。而在Cocos2d-x 引擎中,場景存放的是須要渲染的佈景,任務角色和菜單,它能夠做爲一個總體,一塊兒渲染,一塊兒銷燬,一塊兒被場景切換使用。

即遊戲關卡的實施者,其管理這多個CCLayer,進行場景展示,相關業務邏輯的處理等; 
佈景(CCLayer) 
    從概念上說,佈景就是場景裏的背景。其實就是層次的概念,這種概念在KJava時代就已經存在,就是手動地把遊戲中的場景分層(也有靠地圖編輯器實現)。  
每一個遊戲場景中均可以有不少層,每一層有各自的職責任務,例如專門負責顯示背景,專門負責顯示道具,專門負責顯示任務角色等,在每一層上面能夠放置不一樣的元素,包括文本,精靈和菜單等,經過層與層之間的組合關係,咱們能夠很容易的控制和顯示各類各樣的界面了,固然,其和photoshop中的層同樣,也有透明之說,因此爲了可以看到每一層上面的東西,不少層都設置爲透明或半透明的,不然只能看到最上面的一層了。

通常一個場景能夠有不少層,好比背景圖層,物件層,NPC層,角色層,UI層等等,每一個層負責本身的功能業務,總的在一個CCScene裏共存,隨着場景的隱藏而隱藏;不一樣的層之間能夠經過設置不一樣alpha通道(透明度)進行顯示控制;  
角色(CCSprite)  
精靈是整個遊戲開發處理的主要對象,包括主角和敵人、NPC等,甚至隨機飄過的一片雲或飛鳥從技術上講,也是精靈,由於精靈在cocos2d-x中,就是一個能夠不斷變化的圖片,這些變化包括位置變化,旋轉、放大縮小和運動等。  
動做(CCAction) 
    角色所具備的動做,通常用於精靈發生動做時使用,如移動,釋放魔法等。

整體來講以上的對象主要關聯以下:

 

Cocos2d-x的目錄結構以下:


目錄的具體結構介紹以下:

Box2D:物理引擎Box2D的相關源文件

Chipmunk:物理引擎chipmunk的相關源文件

cocos2dx:cocos2d-x引擎的核心部分,存放了引擎的大部分源文件

CocosDenshion:聲音模塊相關源文件

Debug.win32:在Windows 上調試輸出目錄

Doxygen:生成doxygen項目文檔時須要的配置文件

HelloLua:在遊戲中使用lua的示例代碼

HelloWorld:測試代碼helloworld

Js:cocos2d-x js腳本支持源碼目錄

Licenses:許可文件存放目錄

Lua:腳本語言lua支持的相關源文件

Template:包括編譯iOS和Android等平臺開發時須要的配置文件

Testjs:cocos2d-x引擎各平臺js語言的api示例代碼

Tests:cocos2d-x引擎全部api的示例代碼

Tools:包括"tolua的配置文件"和「xcode4的模板生成工具」

build-win32.bat:編譯cocos2d-x引擎的windwos項目腳本

cocos2d-win32.vc2008.sln:windows項目vs2008解決方案文件

cocos2d-win32.vc2010.sln:windows項目vs2010解決方案文件

create-android-project.bat :在windows上面建立android項目的腳本

create-android-project.sh:在linux上建立android的腳本

install-templates-msvc.bat:建立vs2010或vs2008的工程模板腳本

install-templates-xcode.sh:建立xcode工程模板的腳本

 

座標系統

    在cocos2d-x中有兩種座標系,分別是屏幕座標系和open gl座標系。


       在opengl座標體系中有兩個很是重要的參數,即錨點和位置。

     錨點做爲位置的參考點,錨點在設置某一個物件(如CCSprite,CCLayer)的位置時,其參照位置,數據爲(0.0-1.0)之間,默認是(0.5, 0.5),也就是說其默認參照位置是該物件的中心。若是把某一物體放到屏幕的中心,對於默認anchor來講,就是把該物體的中心放到屏幕中心 ,取值在0到1之間的好處就是,錨點不會和具體物體的大小耦合,也即不用關注物件大小,而應取其對應比率,若是把錨點改爲(0,0),則進行放置位置時,以圖片左上角做爲起始點,也就是放置位置設置對應的點。

      位置顧名思義就是物體的位置。

     在調用任何須要設置位置的函數或從函數獲取位置信息前,必需要明確這個函數使用的是哪一個座標系,如調用CCNode類的setPosition函數,它使用的就是GL座標系,而在處理觸摸時間時CCTouch對象在宏的座標就是屏幕座標。

      另外一個重要的座標系就是和Node相關的本地座標系。這個結構和通常作3D用的場景樹的概念是同樣的。因此從Node拿到的位置是該節點的本地座標,須要經過特定的函數才能把本地座標轉換爲世界座標。並且這裏的座標都用的是GL座標系。在CCNode對象中有幾個方便的函數能夠作座標轉換。convertToWorldSpace方法能夠把基於當前node的本地座標系下的座標轉換到世界座標系中。convertToNodeSpace方法能夠把世界座標轉換到當前node的本地座標系中。

動做:CCAction

類繼承圖:

主要函數:

virtual CCObject  copyWithZone (CCZone *pZone)//克隆對象

virtual bool  isDone (void)//動做是否已經換成

virtual void  startWithTarget (CCNode *pTarget)//設置動做關聯的對象,動做運行前調用該方法

virtual void  stop (void)//中止動做

virtual void  step (ccTime dt)//設置動做的間隔時間

CCNode  getTarget (void)//獲取動做關聯的對象

void  setTarget (CCNode *pTarget)//設置動做的關聯的對象

int  getTag (void)//獲取動做的tag

void  setTag (int nTag)//設置動做的tag

static CCAction  action ()//生成action

精靈角色(CCSprite)

CCSprite是一副2D圖像,CCSprite能夠經過圖像或者圖像中的一個矩形子區域建立 若是它的父節點或者任意繼承樹上的節點是CCspriteBatchNode則具備下述特性:

父節點是CCSpriteBatchNode時具備的特性: 更快的渲染速度,特別時CCSpriteBatchNode有不少子節點的狀況下,但有如下限制:

A、不支持照相功能(例如:CCOrbitCamera動做不能執行)

B、不支持基於網格的動做(例如:CCLens,CCRipple,CCTwirl)

C、Alias / Antialias屬性屬於CCSpriteBatchNode,因此你不能單獨設置aliase屬性

D、渲染函數屬性屬於CCSpriteBatchNode,因此你不能單獨設置渲染函數屬性

E、不支持視差滾動,可是能夠經過「代理」精靈模擬 若是它的父節點時普通CCNode,那麼CCSprite具備和其它任何CCNode同樣的行爲。

雖然有以上限制,但它也有如下優勢:

A、支持渲染(Blending)功能

B、支持Alias / Antialias • 可是渲染速度會比較慢,每次只渲染一個子節點 CCSprite默認的錨點時(0.5, 0.5)

能夠說,全部與圖片有關係的,均可以用這個來處理,主要是提供圖片的加載展現,能夠加載序列幀,以便動畫播放

類繼承圖

其主要函數除了CCNode繼承下來的函數外,還有如下函數:

virtual void  setTexture (CCTexture2D *texture)//設置精靈的紋理

virtual CCTexture2D  getTexture (void)//獲取精靈的紋理

bool  initWithTexture (CCTexture2D *pTexture)//根據紋理初始化精靈

bool  initWithTexture (CCTexture2D *pTexture, const CCRect &rect)//根據紋理指定的區域初始化精靈

bool  initWithSpriteFrame (CCSpriteFrame *pSpriteFrame)//根據SpriteFrame初始化精靈

bool  initWithSpriteFrameName (const char *pszSpriteFrameName)//根據spriteFrame的名稱初始化精靈

bool  initWithFile (const char *pszFilename)//根據plist文件初始化精靈

bool  initWithFile (const char *pszFilename, const CCRect &rect)//根據plist文件初始化精靈

bool  initWithBatchNode (CCSpriteBatchNode *batchNode, const CCRect &rect)//批量根據節點初始化精靈

void  setDisplayFrameWithAnimationName (const char *animationName, int frameIndex)

static CCSprite  spriteWithTexture (CCTexture2D *pTexture) //根據紋理生成精靈

static CCSprite  spriteWithTexture (CCTexture2D *pTexture, const CCRect &rect)//根據紋理指定的區域生成精靈

static CCSprite  spriteWithTexture (CCTexture2D *pTexture, const CCRect &rect, const CCPoint &offset)//根據紋理指定的區域和點偏移生成精靈

static CCSprite  spriteWithSpriteFrame (CCSpriteFrame *pSpriteFrame)//根據SpriteFrame生成精靈

static CCSprite  spriteWithSpriteFrameName (const char *pszSpriteFrameName)//根據SpriteFrame的名稱生成精靈

static CCSprite  spriteWithFile (const char *pszFileName)//根據plist文件按生成CCSprite

static CCSprite  spriteWithFile (const char *pszFileName, const CCRect &rect)//根據plist文件生成精靈

static CCSprite  spriteWithBatchNode (CCSpriteBatchNode *batchNode, const CCRect &rect)//根據節點批量生成精靈

節點CCNode

首先是類結構: 

能夠看到CCNode 幾乎是遊戲中處理的大部分類的父類,其主要有如下函數:

virtual int  getZOrder (void) //獲取節點的順序

virtual const CCPoint  getPosition (void) //獲取節點的位置

virtual void  setPosition (const CCPoint &var) //設置節點的位置

virtual CCArray  getChildren (void) //獲取其全部子節點

virtual CCCamera  getCamera (void)//獲取其對應的攝像機

virtual bool  getIsVisible (void) //判斷節點是否可見

virtual void  setIsVisible (bool var) //設置節點可見性

virtual const CCPoint  getAnchorPoint (void) //獲取節點的錨點的位置

virtual void  setAnchorPoint (const CCPoint &var) //設置節點的錨點位置

virtual bool  getIsRunning (void) //判斷節點是否在運行

virtual CCNode  getParent (void)//獲取父及節點指針

virtual void  setParent (CCNode *var) //設置節點的父節點

virtual int  getTag (void) //獲取節點的tag

virtual void  setTag (int var) //設置節點的tag

char *  description (void) //返回節點的描述

virtual void  onEnter () //進入節點時的回調函數

virtual void  onEnterTransitionDidFinish ()//進入節點後的回調函數

virtual void  onExit ()//離開節點時的回調函數

virtual void  addChild (CCNode *child)//增長節點

virtual void  addChild (CCNode *child, int zOrder) //經過順序添加節點

virtual void  addChild (CCNode *child, int zOrder, int tag)//經過順序和tag添加節點

void  removeFromParentAndCleanup (bool cleanup)//刪除父節點中的當前節點並清除動做及回調函數

virtual void  removeChild (CCNode *child, bool cleanup) //刪除節點

void  removeChildByTag (int tag, bool cleanup)//經過tag刪除節點

virtual void  removeAllChildrenWithCleanup (bool cleanup)//刪除節點並清除動做及回調函數

CCNode  getChildByTag (int tag)//經過tag獲取節點

virtual void  reorderChild (CCNode *child, int zOrder)//根據order從新排序

virtual void  cleanup (void)//清除動做

virtual void  draw (void)//繪製本身

virtual void  visit (void)//訪問節點

CCAction  runAction (CCAction *action) //運行動做

void  stopAllActions (void)//中止全部的動做

void  stopAction (CCAction *action)//中止動做

void  stopActionByTag (int tag) //經過tag中止動做

CCAction  getActionByTag (int tag)//經過tag獲取動做的指針

unsigned int  numberOfRunningActions (void)//正在運行的動做的總數

void  schedule (SEL_SCHEDULE selector)//定義一個定時器

void  schedule (SEL_SCHEDULE selector, ccTime interval)//定義一個定時器

void  unschedule (SEL_SCHEDULE selector)//取消一個定時器

void  unscheduleAllSelectors (void)//取消全部定時器

void  resumeSchedulerAndActions (void)//恢復定時器和動做

void  pauseSchedulerAndActions (void)//暫停定時器和動做

static CCNode  node (void)//生成一個節點

CCNode是cocos2d-x的渲染鏈,寫遊戲基本上就是和他打交道了,cocos2d-x同時只能渲染一個CCScene,所以CCScene是渲染的根節點。在構建遊戲時,通常是一個Scene中添加一個或者多個CCLayer,一個Layer中又添加多個CCSprite或者CCMenu,CCSprite中還能夠添加CCParticleSystem等等。這樣就構建了一個渲染樹,cocos2d-x歷遍這個樹來將圖像顯示在屏幕上。

coco2d-x的渲染其實是調用visit()函數來完成的:即visit()這個函數調用它包含的Child的zOrder<0的visit()函數,以後調用draw()函數,再調用Child的zOrder>=0的visit()函數,它其實是一個深度優先的算法。他的Child是按照zOrder排序的,以保證渲染的正確性。draw()的做用是繪製本身。在CCSprite這些確實須要繪製的類中,draw()調用openGL的函數來完成繪製功能——把一個紋理映射到一個矩形上。

若是要自定義繪製一些圖像,能夠重寫draw()函數,不過不要忘記調用父類的draw()函數。

能夠進行網狀關係的管理,其實CCScene,CCLayer也是一個CCNode.它提供節點增刪,包含,提供節點縮放,每一個節點有一個照相機,提供動畫支持,也就是說每個從CCNode派生的類均可以執行動畫操做;

佈景:CCLayer

類繼承圖:

 CCLayer 是CCNode的子類 ,實現了TouchEventsDelegate接口,繼承了CCNode全部的特性,而且附加了一些本身的特性,它可以接收iPhone的觸摸事件,也可以接收Accelerometer的輸入。

其主要函數以下:

bool  init () //初始化函數

virtual void  onEnter ()//進入時的回調函數

virtual void  onExit ()//離開時的回調函數

virtual void  onEnterTransitionDidFinish ()//進入後的回調函數

virtual bool  ccTouchBegan (CCTouch *pTouch, CCEvent *pEvent)//單點觸屏事件

virtual void  ccTouchesBegan (CCSet *pTouches, CCEvent *pEvent)//多點觸屏事件

virtual void  ccTouchesMoved (CCSet *pTouches, CCEvent *pEvent)//在觸摸屏幕移動事件

virtual void  ccTouchesEnded (CCSet *pTouches, CCEvent *pEvent)//觸摸屏幕移動時間結束

virtual void  ccTouchesCancelled (CCSet *pTouches, CCEvent *pEvent)//觸屏事件取消

static CCLayer  node (void)//生成layer

 

場景(CCScene)

場景(CCScene)

類結構:

CCScene主要有如下兩個函數:

bool  init () //初始化函數

static CCScene  node (void) //生CCScene

做爲場景類,爲什麼只有這兩個函數而沒有其餘方法呢,由於目前在CCScene承擔的是一個容器的功能,遊戲開發時須要渲染的對象反正CCScene裏面統一管理,包括建立、銷燬和場景切換等,並且從其類的結構圖可看出,其直接繼承了CCNode類,下章咱們會具體介紹CCNode類

攝像機(CCCamera)

在cocos2d-x中,每一個節點(CCNode)都須要用到,即當節點發生旋轉、縮放和位置變化等時,都須要覆蓋CCCamera,而後這個節點經過CCCamera從新渲染。

類結構:

其主要函數以下:

char *  description (void) //返回當前攝像機的描述

void  restore (void) //重置攝像機,使攝像機回到默認位置

void  locate (void) //按設置的eye座標放置攝像機

void  setEyeXYZ (float fEyeX, float fEyeY, float fEyeZ) //設置攝像機eye座標

void  setCenterXYZ (float fCenterX, float fCenterY, float fCenterZ)//設置center的座標

void  setUpXYZ (float fUpX, float fUpY, float fUpZ)//設置up的座標

void  getEyeXYZ (float *pEyeX, float *pEyeY, float *pEyeZ) //獲取eye的座標

void  getCenterXYZ (float *pCenterX, float *pCenterY, float *pCenterZ)//獲取center的座標

void  getUpXYZ (float *pUpX, float *pUpY, float *pUpZ)//獲取Up的座標

導演CCDirector

在cocos2d-x裏面,遊戲的任什麼時候間,只有一個場景對象實例處於運行狀態,該對象能夠做爲當前遊戲內容的總體包對象

Cocos2d-x引擎除了提供了CCDirector,還提供了一個CCDisplayLinkDirector,CCDisplayLinkDirector是一個能夠自動刷新的CCDdirector。

CCDirector主要函數以下:

CCScene  getRunningScene (void) //獲取當前運行的場景

double  getAnimationInterval (void)//獲取當前的FPS

virtual void  setAnimationInterval (double dValue)=0 //設置FPS

bool  isDisplayFPS (void) //是否在屏幕底部顯示FPS

void  setDisplayFPS (bool bDisplayFPS) //設置在屏幕底部顯示FPS

CC_GLVIEW *  getOpenGLView (void) //獲取CCEGLView

void  setOpenGLView (CC_GLVIEW *pobOpenGLView) //設置CCEGLView

bool  isPaused (void) //固然是否適合暫停

unsigned int  getFrames (void) //獲取從director開始起,全部被調用的Frames的數量

ccDirectorProjection getProjection (void) //獲取OpenGl的projection

void  setProjection (ccDirectorProjection kProjection) //設置Opengl 的projection

bool  isSendCleanupToScene (void) // 場景替換時,是否接收到cleanup時間,若新的的場景是被push進來的,舊的場景不會收到cleanup 事件,若新的場景是被替換進來的,舊的場景就可以收到cleanup事件。

CCSize getWinSize (void) //獲取Open gl view的大小,單位爲點

CCSize getWinSizeInPixels (void) // 獲取以像素爲單位的open gl view大小

CCSize getDisplaySizeInPixels (void) //獲取以像素爲單位的open gl view 的顯示區域大小

void  reshapeProjection (const CCSize &newWindowSize) //改變projection的大小

CCPoint convertToGL (const CCPoint &obPoint) //將UIKIT座標體系轉化爲opengl座標體系

CCPoint convertToUI (const CCPoint &obPoint)//將opengl座標體系轉化爲UIKIT座標體系

float  getZEye (void)  //獲取缺省鏡頭Z的位置

void  runWithScene (CCScene *pScene) //運行場景

void  pushScene (CCScene *pScene) //push場景

void  popScene (void)//pop場景

void  replaceScene (CCScene *pScene) //替換場景

void  pause (void) //暫停遊戲

void  resume (void) //回覆遊戲

virtual void  stopAnimation (void)=0 //中止動畫

virtual void  startAnimation (void)=0 //開始動畫

void  drawScene (void) //每次frame都會被調用,無需本身調用

void  purgeCachedData (void) //刪除緩存的數據

void  setGLDefaultValues (void) //設置Opengl的默認值

void  setAlphaBlending (bool bOn) //設置是否啓用opengl的alpha通道

void  setDepthTest (bool bOn)//設置是否測試景深

virtual void  mainLoop (void)=0//遊戲主循環

void  applyOrientation (void)  //是設備方向設置生效

ccDeviceOrientation getDeviceOrientation (void) //獲取設備方向

void  setDeviceOrientation (ccDeviceOrientation kDeviceOrientation) //設置遊戲橫屏

bool  enableRetinaDisplay (bool enabled) //設置是否啓用視網膜屏支持

bool  isRetinaDisplay ()//是否啓用視網膜屏支持

void  resetDirector () //重置遊戲

static bool  setDirectorType (ccDirectorType obDirectorType) //設置directortype,目前主要有kCCDirectorTypeNSTimer、kCCDirectorTypeMainLloop,kCCDirectorType-ThreadMainLoop、kCCDiretorTypeDisplayLknk

 紅薯這個編輯器不是很好 圖片太多 上傳不了,今天喝了點小酒有點累了,你們能夠直接在這個連接上找到關於

cocos2d-x的鏈接:

http://pan.baidu.com/share/link?shareid=367419575&uk=3088193979(有圖有描述 相比這個較好點 最後提醒必定熟悉這個!)


好吧今天就這樣,下一章節咱們就進入2dx引擎真正的分解了,再次聲明 本系列會持續更新,有想搭車的趕忙哈

ps:因最近公司項目緊張,因此本系列文章更新時間在1周或者2周吧,本人擅長遊戲服務器端開發,遊戲愛好開發者羣:qq:275459491 我的qq:502959937 加時說明來自osc!

相關文章
相關標籤/搜索