3.2 Cocos2d-x设计目标
Cocos2d-x设计目标如图3-2所示。横向能够支持各种操作系统,桌面系统包括Windows、Linux和Mac OS X;移动平台包括iOS、Android、Windows Phone、Bada、BlackBerry和MeeGo等。纵向方面向下能够支持OpenGL ES 1.1、OpenGL ES 1.5和OpenGL ES 2.0,以及DirectX 11等技术,向上支持JavaScript和Lua脚本绑定。
图3-2 Cocos2d-x设计目标
简单地说,Cocos2d-x的设计目标是为了实现跨平台,使我们不再为同一款游戏在不同平台发布而进行编译了。而且Cocos2d-x为程序员考虑得更多,很多程序员可能对C++不熟悉,针对这种情况可以使用JavaScript和Lua开发游戏,如图3-3所示。
图3-3 Cocos2d-x绑定JavaScript和Lua脚本
由图3-3可见,通过Cocos2d-x和Cocos2d-js引擎,程序员可以开发网页游戏和本地游戏。图中A线路和B线路都是给掌握JavaScript脚本的程序员准备的,通过A线路,使用Cocos2d-js引擎开发基于HTML5的网页游戏。同样的JavaScript代码,也可以通过B线路,使用js binding(js绑定)技术透过C++ API访问Cocos2d-x引擎,开发本地游戏。这样,同样的JavaScript代码就可以实现在不同平台下运行了。
图3-3中的C线路是本书介绍的,它是给熟悉C++的程序员准备的。通过C++ API访问Cocos2d-x引擎,开发本地游戏。
图3-3中的D线路是为熟悉Lua脚本的程序员准备的。使用lua binding(lua绑定)技术通过C++ API访问Cocos2d-x引擎,开发本地游戏。
通过Cocos2d-x和Cocos2d-js引擎,Cocos2d-x团队构建了自己的技术生态圈,通过这些引擎使得我们开发游戏越来越简单。