Cocos2d-x 初级概览

上一篇文章中,我已经跑起了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会越来越深入的理解。

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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值