IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Cocos2d-x 初级概览

    lincyang发表于 2013-12-19 21:48:17
    love 0

    上一篇文章中,我已经跑起了cocos2d-x中的一个示例,今天要从宏观角度来了解一下cocos2d-x,当然,我的目的是让其在Android上发挥作用,其他平台暂且忽略。

    看看它的目录结构:

    [linc@localhost cocos2d-x-2.2.1]$ tree -L 2
    .
    |-- AUTHORS  //详细列出了为此项目出力的大侠
    |-- build-nacl.sh  //编译本地端(native client)所有组件的脚本
    |-- build-win32.bat  //windows上的编译批处理
    |-- CHANGELOG        //版本更新日志
    |-- cocos2d-win32.vc2010.sln  //和下面的一起为各个版本VC的解决方案(sln)
    |-- cocos2d-win32.vc2012.sln
    |-- cocos2d-winrt.vc2012.sln
    |-- cocos2d-winrt.vc2013.sln
    |-- cocos2d-wp8.vc2012.sln
    |-- cocos2dx  //核心所在(可以称其为渲染引擎),引擎的大部分实现代码在此
    |   |-- actions  //引擎重要概念之三的动作都在这儿了
    |   |-- Android.mk  //android的makefile,必须要重视
    |   |-- base_nodes
    |   |-- CCCamera.cpp  //引擎重要概念之一摄像头
    |   |-- CCCamera.h
    |   |-- CCConfiguration.cpp
    |   |-- CCConfiguration.h
    |   |-- CCDirector.cpp  //引擎重要概念之二导演
    |   |-- CCDirector.h
    |   |-- ccFPSImages.c
    |   |-- ccFPSImages.h
    |   |-- CCScheduler.cpp
    |   |-- CCScheduler.h
    |   |-- cocoa  //基础库,CCObject在此
    |   |-- cocos2d.cpp
    |   |-- draw_nodes
    |   |-- effects
    |   |-- include
    |   |-- kazmath  //重要的数学库
    |   |-- keypad_dispatcher
    |   |-- label_nodes
    |   |-- layers_scenes_transitions_nodes  //引擎重要概念之四、五的场景CCScene和布景CCLayer在此
    |   |-- menu_nodes
    |   |-- misc_nodes
    |   |-- particle_nodes
    |   |-- platform  //可以理解为平台相关吧,关注android部分
    |   |-- proj.blackberry
    |   |-- proj.emscripten
    |   |-- proj.ios
    |   |-- proj.linux
    |   |-- proj.mac
    |   |-- proj.marmalade
    |   |-- proj.nacl
    |   |-- proj.tizen
    |   |-- proj.win32
    |   |-- proj.winrt
    |   |-- proj.wp8
    |   |-- script_support
    |   |-- shaders  //着色器
    |   |-- sprite_nodes
    |   |-- support
    |   |-- text_input_node
    |   |-- textures //纹理
    |   |-- tilemap_parallax_nodes
    |   `-- touch_dispatcher
    |-- CocosDenshion  //声音模块
    |   |-- android  //这里当然少不了opensl
    |   |-- blackberry
    |   |-- emscripten
    |   |-- include
    |   |-- ios
    |   |-- linux
    |   |-- mac
    |   |-- marmalade
    |   |-- proj.blackberry
    |   |-- proj.emscripten
    |   |-- proj.ios
    |   |-- proj.linux
    |   |-- proj.marmalade
    |   |-- proj.nacl
    |   |-- proj.tizen
    |   |-- proj.win32
    |   |-- proj.winrt
    |   |-- proj.wp8
    |   |-- third_party
    |   |-- tizen
    |   |-- win32
    |   |-- winrt
    |   `-- wp8
    |-- document  //很奇耙的文档路径,看看里面都是啥啊?文档呢?
    |   |-- cocos2dx_portrait.png
    |   |-- doxygen.config
    |   |-- Groups.h
    |   `-- MainPage.h
    |-- Emscripten.TODO
    |-- extensions  //扩展库,里面包含了coco studio。不知道android能否受益呢。
    |   |-- Android.mk
    |   |-- AssetsManager
    |   |-- CCBReader
    |   |-- cocos-ext.h
    |   |-- CocoStudio
    |   |-- ExtensionMacros.h
    |   |-- GUI
    |   |-- LocalStorage
    |   |-- network
    |   |-- physics_nodes
    |   |-- proj.blackberry
    |   |-- proj.emscripten
    |   |-- proj.linux
    |   |-- proj.marmalade
    |   |-- proj.nacl
    |   |-- proj.tizen
    |   |-- proj.win32
    |   |-- proj.winrt
    |   |-- proj.wp8
    |   `-- spine
    |-- external  //里面都是宝贝
    |   |-- Box2D  //知名的物理引起Box2d,官网:http://box2d.org/
    |   |-- chipmunk  //另一个物理引擎,单词意思是花栗鼠,cocos2d官方支持的物理引擎,官网:http://chipmunk-physics.net/
    |   |-- emscripten  //一个神奇的家伙。它是一个使用LLVM的开源C++到JavaScript的编译器。
    |   |-- libwebsockets  //web socket,带来的是高效。它是html5新增加的一种通信协议。
    |   `-- sqlite3  //这个数据库自不必说
    |-- install-deps-linux.sh
    |--各种Licnse
    |-- make-all-linux-project.sh
    |-- Makefile
    |-- Makefile.emscripten
    |-- plugin
    |   |-- jsbindings
    |   |-- plugins
    |   |-- protocols
    |   |-- samples
    |   `-- tools
    |-- README.mdown
    |-- samples
    |   |-- Cpp  //我主要关注这里的sample,各个版本的都有
    |   |-- Javascript
    |   `-- Lua
    |-- scripting
    |   |-- javascript
    |   `-- lua
    |-- template
    |   |-- multi-platform-cpp
    |   |-- multi-platform-js
    |   `-- multi-platform-lua
    `-- tools
        |-- android-buildsetup.sh
        |-- android-emulator-README.md
        |-- bindings-generator
        |-- closure-compiler
        |-- cocos2d-console
        |-- jenkins_scripts
        |-- lua_project_generator
        |-- make-package
        |-- project-creator
        |-- tojs
        |-- tolua++
        |-- travis-scripts
        `-- xcode4_template_generator
    
    113 directories, 62 files
    
    有了这个初级的概览,对cocos2d-x也算了有了全面的了解,那么伴随着对sample的修改和调试,对cocos2d-x会越来越深入的理解。

    既然上路了,就全速前行吧!



沪ICP备19023445号-2号
友情链接