您好,登錄后才能下訂單哦!
【嘮叨】
3.x的引擎目錄與2.x的引擎目錄的差別是非常大的。學過2.x的朋友應該會發現2.x的引擎目錄有點凌亂。而3.x主要是將引擎的各個文件按照用途進行了分類,使得引擎目錄結構更加清晰了。
【窺探3.x引擎目錄】
要想學好cocos2dx,首先就需要對引擎目錄下的各個文件有所了解。接下來,就讓我們先來分析一下cocos2dx3.2引擎的文件目錄吧。
從目錄中我們主要了解一下以下幾個文件:
文件名 | 說明 |
build | 官方編譯的項目解決方案。 集中放在這個文件中,如cocos2d-win32.vc2012.sln、Debug.win32、win32-msvc-2012-x86.cmd等。 這些在2.x版本是直接放在根目錄的。 |
cocos | 集中了cocos2dx開發中使用的所有源文件。 除了cocos2dx引擎核心部分,還包含聲音引擎、物理引擎、網絡、GUI等。 |
extensions | 擴展目錄。 包括一些2.5D特效,網絡控制,以及一些GUI等,當要用到這些擴展時: #include "cocos-ext.h" using namespace cocos2d::extension |
external | 第三方目錄庫。 主要包含了Box2D、chipmunk物理引擎,以及sqlite3輕型數據庫等。 |
tests | 官方樣例。 包含了官方的Cpp、lua例子。其中cpp-empty-test就是最簡單的例子。 另外也包含了一個 cpp-tests 項目,里面涵蓋了cocos2dx引擎所有類的使用,所以很重要! |
templates | 模板目錄。 提供了各種平臺及IDE下創建的cocos2dx新工程的項目模板。 |
tools | 工具目錄。 提供了各個平臺下,創建cocos2dx新項目的腳本工具。 其中:\tools\cocos2d-console\bin\cocos.py 就是用來創建cocos2dx新項目的。 |
download-deps.py | 自動下載cocos2d-x所需的第三方插件(如果有的話) |
setup.py | 配置cocos2dx的環境變量的腳本。 |
【cocos文件目錄】
在3.x版本中,將cocos2dx引擎開發所需要的幾乎所有的資源文件全部都放在了cocos文件夾中。
并且對目錄的分類更加的細致了,這使得引擎的結構更加清晰。
從文件目錄的結構上,可以看出,分類更加的清晰了。
文件名 | 說明 |
base | cocos2dx引擎的核心部分之一。 存放一些基礎類,如Ref、Director、Vector、Map、Value等。 |
2d | cocos2dx引擎的核心部分之一。 存放一些核心部分的類,如Sprtie、Layer、Label、Menu等。 |
3d | 新增了對部分3D的支持。 有Sprite3D、Animate3D等,呵呵,可能將來要出cocos3dx了吧。 |
math | 存放引擎中與數學相關的類文件。 如坐標類Vec2.h、幾何類CCGeometry.h(定義了Rect、Size)等。 |
renderer | 引擎的渲染文件。 Texture2D、Renderer、Shader等。 |
deprecated | 存放2.x中即將被廢棄的規則,目的是為了兼容2.x。 例如,使用typedef來對CC的兼容(如:typedef Label CCLabel)。 |
platform | 不同平臺下的入口類。 CCApplication.h、CCGLView.h、CCGL.h、CCStdC.h |
audio | 聲音引擎相關源文件。 在2.x里是放在根目錄的CocosDenshion文件夾。 |
physics | 物理引擎相關源文件。 chipmunk。 |
network | 網絡相關相關源文件。 HttpClient、WebSocket。 |
ui | GUI相關源文件。 |
editor-support | 對編輯器的支持。 cocosbuilder、cocostudio、spine。 |
scripting | lua腳本相關源文件。 |
cocos2d.h | cocos2dx引擎核心頭文件,包含了引擎中的所有類。 可以打開它,查看引擎的所有源文件所在位置。 |
【引擎中主要庫】
我們先來打開 build\cocos2d-win32.vc2012.sln 解決方案。
可以看到,相比2.x來說,3.x的引擎庫的分類更加詳細了。
庫文件 | 說明 |
libAudio | 聲音引擎庫。原名libCocosDenshion |
libBox2D | 物理引擎庫 |
libchipmunk | 物理引擎庫 |
libcocos2d | cocos2dx核心引擎庫 |
libExtensions | 擴展庫 |
libCocosBuilder | 編輯器的支持庫 |
libCocosStudio | 編輯器的支持庫 |
libSpine | 編輯器的支持庫 |
libNetWork | 網絡庫 |
libGUI | GUI界面庫 |
libLocalStorage | 本地數據存儲方案庫 |
libLua | lua腳本庫 |
【頭文件目錄】
頭文件 | 所在目錄 |
cocos2d.h | cocos2d-x-3.2\cocos\ |
CCDeprecated.h | cocos2d-x-3.2\cocos\deprecated\ |
SimpleAudioEngine.h | cocos2d-x-3.2\cocos\audio\include\ |
HttpClient、WebSocket | cocos2d-x-3.2\cocos\network\ |
cocosbuilder、cocostudio、spine | cocos2d-x-3.2\cocos\editor-support\ |
CocosGUI.h | cocos2d-x-3.2\cocos\ui |
cocos-ext.h | cocos2d-x-3.2\extensions\ |
Box2D、chipmunk、sqlite3 | cocos2d-x-3.2\external\ |
常用頭文件:
#include "cocos2d.h" //這個應該是每個項目中都比不可少的頭文件吧? 比不可少! #include "Box2D/Box2D.h" //Box2d物理引擎 #include "SimpleAudioEngine.h" //聲音引擎 #include "cocos-ext.h" //第三方庫文件 using namespace cocos2d; //cocos2d的命名空間 using namespace cocos2d::extension; //使用擴展類需要包含的命名空間 using namespace CocosDenshion; //聲音引擎的命名空間
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。