文章目录
Cocos2dx发展历程
Python版本
- 2005-2007
Ricardo和朋友使用Python语言设计并开发多种游戏,在设计新游戏的过程中,每次都要重新开发引擎; - 2008.02
在阿根廷Los Cocos组建游戏开发团队并开始创建游戏开发引擎; - 2008.03
在PyCon 2008芝加哥宣布了alpha版本(v0.1),命名Los cocos,之后改名为Cocos2d; - 2008.07
EuroPython 2008上展示了Cocos2d(v0.3);
Cocos2d-iPhone
- 2008.06
公布用Objective-C编写的Cocos2d for iPhone v0.1; - 2008.07
使用该开发引擎开发了第一个游戏Sapus Tongue; - 2008.12
使用该引擎开发的游戏在App Store中已超过40个; - 2009年初
使用该引擎开发的Stick Wars获得了应用商店排名第一; - 2011.07
在社区帮助下,发布了cocos2d-iphonev1.0;
其他版本的移植
- Java
cocos2d-android, cocos2d-android-1 - C++
Cocos2d-x - JavaScript
Cocos2d-HTML5, Cocos2d-JavaScript - C#
CocosNet, Cocos2d-XNA, CocosSharp - Go
Gocos2d - Python
基于cocos2d-iphone新端口(非原始cocos2d) - Ruby
ShinyCocos, RubyMotion支持
Cocos2d-x
- 2010.07
由Zhe Wang创建,使用C++,使用Objective-C命名方式,开启了Cocos2d-x元年; - 2011.07
开始使用Lua脚本语言开发游戏逻辑; - 2011.07之后
Cocos2d-x v2.0版本诞生,将OpenGLES1.0版本提升到2.0,支持Cocos Builder编辑器,支持JavaScript。
随后抛弃了OC编程风格的Cocos2d-x v3.0支持C++11特性; - 2012年
quick团队(非cocos2dx团队)开发quick-cocos2d-x用以提升lua脚本的易用性,后被cocos官方收购将引擎命名为cocos2d-lua;
从v2.0到v3.0
-
接口中的CC去掉:
CCSprite -> Sprite , CCCallFunc -> CallFunc
-
结构体变化
ccp(x, y) -> Point(x, y) ccpAdd(p1,p2) -> p1+p2; ccpSub -> p1-p2 ccpMult -> p1*p2 ccpLength(p) -> p.getLength() ccpDot(p1,p2); -> p1.dot(p2) ccc3() -> Color3B() ccc4() -> Color4B() ccWHITE -> Color3B::WHITE CCPointZero -> Point::ZERO CCSizeZero -> Size:ZERO
-
单例的应用接口
::sharedSome() -> ::getInstance()
-
点、大小、区域
CCPoint -> Vec2 CCSize -> Size CCRect -> Rect
-
CC to Some
CCLog -> CCLOG CCArray -> __Array or cocos2d::Vector<T> CCSet -> __Set ccTouchBegan -> onTouchBegan CCObject -> Ref CCPointZero -> Vec2::Zero
-
回调函数
// new callbacks based on C++11 #d