zoukankan      html  css  js  c++  java
  • cocos2dx[3.2](1) 浅析cocos2dx3.2引擎目录

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

    wKiom1QMPY2xzGrTAAGpUeF7jAI362.jpg

        从目录中我们主要了解一下以下几个文件:

    文件名 说明
    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新项目的脚本工具。

    其中: oolscocos2d-consoleincocos.py 就是用来创建cocos2dx新项目的。

    download-deps.py 自动下载cocos2d-x所需的第三方插件(如果有的话)
    setup.py 配置cocos2dx的环境变量的脚本。

    【cocos文件目录】

        在3.x版本中,将cocos2dx引擎开发所需要的几乎所有的资源文件全部都放在了cocos文件夹中。

        并且对目录的分类更加的细致了,这使得引擎的结构更加清晰。

    wKiom1QMQOqQ7F1CAAHhyV_C1Wg013.jpg

        从文件目录的结构上,可以看出,分类更加的清晰了。

    文件名 说明
    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引擎核心头文件,包含了引擎中的所有类。

    可以打开它,查看引擎的所有源文件所在位置。


    【引擎中主要库】

        我们先来打开 buildcocos2d-win32.vc2012.sln 解决方案。

    wKioL1QMRdKBxT6dAADWdqhMPIo362.jpg

        可以看到,相比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.2cocos
    CCDeprecated.h cocos2d-x-3.2cocosdeprecated
    SimpleAudioEngine.h cocos2d-x-3.2cocosaudioinclude
    HttpClient、WebSocket cocos2d-x-3.2cocos etwork
    cocosbuilder、cocostudio、spine cocos2d-x-3.2cocoseditor-support
    CocosGUI.h cocos2d-x-3.2cocosui
    cocos-ext.h cocos2d-x-3.2extensions
    Box2D、chipmunk、sqlite3 cocos2d-x-3.2external

    常用头文件:

    #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;       //声音引擎的命名空间
  • 相关阅读:
    Window上编译最新版libCef(Branch 2704)(转载)
    在hue 使用oozie sqoop 从mysql 导入hive 失败
    hive 支持更新
    基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)笔记
    修改CENTOS7的网卡名(将网卡ens33修改为我们在centos6中常见的eth0)
    config network name
    Java服务部署规范(内部使用)
    MongoDB干货系列1-定期巡检之Mtools
    mongodb validation--像关系型数据库表去使用mongodb
    ntp 服务导致kudu集群不可用
  • 原文地址:https://www.cnblogs.com/lmx282110xxx/p/10798700.html
Copyright © 2011-2022 走看看