cocos2dx引擎
用过LUA、JS,最后回到C++上来看引擎
1、 概念
摘自百度百科:
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容易在桌面操作系统中编辑和调试。
2、 Cocos2d系列产品关系
见如下链接:
分支引擎 |
编程语言 |
平台 |
Cocos2d |
Python |
桌面操作系统 |
Cocos2d-iphone |
Objective-C,JavaScript |
iOS |
Cocos2d-x |
C++,Lua,JavaScript |
参见支持平台和编程语言部分 |
Cocos2d-html5 |
JavaScript |
支持HTML5的浏览器 |
ShinyCocos |
Ruby |
iOS |
Cocos2d-windows |
C++ |
Windows XP/7 |
Cocos2d-android |
Java |
Android |
Cocos2d-android-1 |
Java |
Android |
Cocos2d-xna |
C# |
Microsoft and MonoGame platforms |
Cocos2d-javascript |
JavaScript |
支持HTML5的浏览器 |
Cocos-net |
C# |
Mono-supported 平台 |
Cocos3d |
Objective-C |
iOS |
3、 Cocos API风格说明
3.1doSomething()
第一个字是一个动词,第二个字是一个名词。比如:replaceScene(CCScene*)和getTexture()
3.2doWithResource()
它是doSomething()方法的变体
3.3onEventCallback()
当你看到类似void onEnter()的函数名时,onAction类型表明这是一个回调函数。
3.4getInstance()
如果你没有发现create(),只发现了getInstance()方法,它就属于单例模式类。
4、 架构
5、 目录结构
目录名称 |
说明 |
CocosDenshion |
|
cocos2dx |
Cocos2d-x框架的主目录。 |
document |
你可以下载doxygen文档系统,利用该系统打开本文档文件夹内的doxygen.config文件,然后再生成离线API文档。 |
extensions |
如果需要更多图形用户界面的控制功能、网络访问、CocosBuilder支持甚至2.5D功能,你可以使用using namespace cocos2d::extension。 |
external |
|
licenses |
cocos2d依赖很多其他开源项目。所有授权许可文件都在这个目录。 |
samples |
重要!这是你该开始用到的文件。从Cpp/HelloCpp开始学习,你会在TestCpp中发现所有类的用法。lua和js样本也在这个目录。 |
scripting |
我知道你不喜欢C++,写起来太复杂。没问题,我们有Lua和Javascript。Scripting文件夹包括来自火狐的lua官方引擎和SpiderMonkey引擎。 |
template |
该目录包括在不同集成开发环境及不同平台中创建Cocos2d-x新项目的模板。这里汇集了数量庞大覆盖各种开发环境和平台的模板! |
tools |
|
CHANGELOG |
作者修订记录文档。 |
cocos2d-win32.vc2010.sln |
|
cocos2d-win32.vc2012.sln |
配套Visual Studio 2012打开。 |
create-android-project.bat |
在Windows平台运行。具体用法请参考如何用脚本创建Android项目。 |
create-android-project.sh |
在Linux或OS X平台运行。具体用法请参考如何用脚本创建Android项目。 |
install-templates-msvc.bat |
|
install-templates-xcode.sh |
执行该文件安装后,你可以在Xcode中创建空的Cocos2d-x项目。 |