cocos2dx[3.2](1) 浅析cocos2dx3.2引擎目录
3.x的引擎目录与2.x的引擎目录的差别是非常大的。3.x主要是将引擎的各个文件按照用途进行了分类,使得引擎目录结构更加清晰了。

从目录中我们主要了解一下以下几个文件:
| 文件名 | 说明 |
| 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; //声音引擎的命名空间
cocos2dx[3.2](1) 浅析cocos2dx3.2引擎目录的更多相关文章
- cocos2d-x入门学习笔记,主要介绍cocos2d-x的基本结构,并且介绍引擎自带的示例
cocos2d-x 3.0 制作横版格斗游戏 http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi http://blo ...
- cocos2d-x-3.6 引擎概述
cocos2d-x是一个游戏开发引擎,从公布到如今也有五六年了,一路看它慢慢壮大.它是如今应用最多的开源2d引擎,没有之中的一个,据说已经占据90%的市场,所以.对于想从事游戏开发的童鞋来说还是有必要 ...
- 【极客学院出品】Cocos2d-X系列课程之九-BOX2D物理引擎
Cocos2d-x 是时下最热门的手游引擎,在国内和国外手机游戏开发使用的份额各自是70%和25%,在App Store的top10中,有7个是用它开发的. 本节课程为Cocos2d-x系列课程之九, ...
- cocos2d-x-3.6 引擎基础概念
先讲一下引擎里面几个重要的基础概念:导演.节点,场景.层,精灵. 当然实际开发人员会碰到非常多其它概念,不过不要紧.有了这些基础概念,后面自己学习起来就easy多了. 节点(Node)是cocos2d ...
- cocos2d-x环境搭建(win7+cocos2d-x-3.0)
一.环境需准备的材料: 1.VS2012,下载地址:官网 2.cocos2d-x和cocostudio,下载地址:官网 3.eclispe,我用的是:adt-bundle-windows-x86_64 ...
- 浅析js模板引擎
js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...
- Chrome V8系列--浅析Chrome V8引擎中的垃圾回收机制和内存泄露优化策略
V8 实现了准确式 GC,GC 算法采用了分代式垃圾回收机制.因此,V8 将内存(堆)分为新生代和老生代两部分. 一.前言 V8的垃圾回收机制:JavaScript使用垃圾回收机制来自动管理内存.垃圾 ...
- cocos2dx[3.2](3) 浅析CCDeprecated.h
CCDeprecated.h中存放的都是2.x将要被抛弃的命名规范,主要包含类名.枚举类型. 虽然说2.x的这些命名规范被CCDeprecated.h保留了.但是为了彻底学习3.x的新特性,就必须要尽 ...
- Cocos2d-x 3.0final 终结者系列教程01-无论是从cocos2d-x2.x升级到版本cocos2d-x3.x
诡谲的江湖,易变. 花花世界,车来人往. 最终确定.安家,将Cocos2d-x3.0final相关技术精加工的版本.并推出了博客文章, 不为他人,只为自己. 学习交流QQ群:301954471 --- ...
随机推荐
- JS---client系列
offset系列:获取元素的宽,高,left,top, offsetParent offsetWidth:元素的宽,有边框 offsetHeight:元素的高,有边框 offsetLeft:元素距 ...
- Redis持久化(转载)
原文地址:http://www.jianshu.com/p/2f14bc570563?from=jiantop.com 数据持久化 Redis提供了将数据定期自动持久化至硬盘的能力,包括RDB和AOF ...
- Git账号Window10系统配置密钥
Git 拉取 推送 报错 . Window10系统 需要配置Git账号密钥.
- 数据库之MySQL-基本知识(与Oracle简单对比)
一.什么是数据库 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件 ...
- TTTTTTTTTTTTTTTTTT hdu 1800 字符串哈希 裸题
题意:意思是有若干个飞行员,需要在扫帚上练习飞行,每个飞行员具有不同的等级,且等级高的飞行员可以当等级低的飞行员的老师,且每个飞行员至多有且只有一个老师和学生.具有老师和学生关系的飞行员可以在同一把扫 ...
- HDU 6071 Lazy Running (最短路)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6071 题解 又是一道虐信心的智商题... 首先有一个辅助问题,这道题转化了一波之后就会化成这个问题: ...
- [洛谷P5361][SDOI2019]热闹又尴尬的聚会:构造题
分析 构造方法 (截图自UOJ群) 可以使用std::set维护这个过程,不过据说可以做到\(O(n+m)\).. 正确性证明 题目中的要求等价于\((p+1)(q+1) > n\) 设每次找出 ...
- AcWing:139. 回文子串的最大长度(字符串Hash + 前缀和 + 后缀和 + 二分)
如果一个字符串正着读和倒着读是一样的,则称它是回文的. 给定一个长度为N的字符串S,求他的最长回文子串的长度是多少. 输入格式 输入将包含最多30个测试用例,每个测试用例占一行,以最多1000000个 ...
- sqli-labs(1)
0x01字符注入 今天是第一天的学习sqli-labs Lesson1:字符型注入 首先测试一下 ' 发现报错 然后 ''发现 不报错 这种大概率就是字符注入了 接下来我们进行列查询 查询语句 h ...
- Spring boot之全局异常捕捉
在一个项目中的异常我们我们都会统一进行处理的,那么如何进行统一进行处理呢? 新建一个类GlobalDefaultExceptionHandler, 在class注解上@ControllerAdvice ...