Cocos2d-JS游戏开发快速入门到实战
上QQ阅读APP看书,第一时间看更新

2.3 Cocos2d-JS的介绍

在前文介绍的Cocos引擎家族中就有本书重点介绍的Cocos2d-JS,相比于其他家族分支来说,Cocos2d-JS引擎有着更容易上手、开发流程更方便、跨平台支持更友好、官方重点支持等优点。

2.3.1 官方定义

为了对Cocos2d-JS有一个大概的认识,大家可以参考Cocos中文官方网站对于它的定义,官网的地址是“http://www.cocos.com/docs/js/index.html”。

官方对于Cocos2d-JS的介绍如下。

Cocos2d-JS是跨全平台的游戏引擎,采用原生JavaScript语言,可发布到Web平台、iOS、Android、Windows Phone8、Mac、Windows等平台,引擎基于MIT开源协议,完全开源,免费,易学易用,拥有活跃的社区支持。Cocos2d-JS让2D的游戏编程门槛更低,使用更加容易和高效。和其他类似游戏框架相比,它定义了更加清晰的2D游戏编程的基本组件,采用易学易用的API设计,并采用全球领先、具备原生性能的脚本绑定解决方案实现游戏的跨原生平台发布,开发效率更高,在使用上最简单。

Cocos2d-JS是Cocos2d-x的JavaScript版本,融合了Cocos2d-HTML5和Cocos2d-x JavaScript Bindings(JSB)。它支持Cocos2d-x的所有核心特性并提供更简单易用的JavaScript风格API,基于Cocos2d-JS的框架,用户可以方便地使用JavaScript语言进行游戏开发,快速构建原型进行验证,并让自己的游戏运行在所有支持HTML5规范的浏览器上。由于Cocos2d-HTML5的API和Cocos2d-x JSB的API高度一致,可以让用户的游戏不用修改代码或者修改少量代码就能打包为原生性能表现的混合游戏,发布到原生应用市场,从而实现一次编码全平台部署的效果,带给用户前所未有的机遇。

2.3.2 引擎架构

Cocos2d-JS是Cocos2d-x中的JavaScript版本,是Cocos2d-HTML5的延伸,官方对基于Web引擎的H5版本和基于Native的C++版本进行了整合,并在API层提供了统一的JavaScript API,使得Cocos开发更加容易,图2-5所示为Cocos2d-JS的引擎架构图。

图2-5 Cocos2d-JS引擎架构图

如图2-5所示,Cocos2d-JS引擎内部分为两个部分,分别是Cocos2d-HTML5和Cocos2d-x JSB(JavaScript-Binding),Cocos2d-HTML5是其在Web平台的版本,而JSB部分是通过Cocos内置的SpiderMonkey虚拟机来解析和运行JavaScript API,并与Cocos2d-x的原生API进行映射,两个部分的顶层JSAPI高度一致,如果需要将游戏从Web平台移植到原生平台或从原生平台移植到Web平台,都是只需改动少量代码或不改动代码就能实现。由此可见,Cocos2d-JS真正能实现一套代码多平台运行,是跨平台能力最强的一个版本。

目前Cocos2d-JS支持的平台如下:

  • 桌面浏览器(Chrome、Safari、Firefox、Opera、IE9+)。
  • 移动浏览器(Android、iOS)。
  • iOS。
  • Android。
  • Mac OSX。
  • Windows。

2.3.3 引擎目录

Cocos2d-JS引擎可以从官网直接下载,官网下载地址为“http://www.cocos.com/download”,官方将Cocos2d-JS引擎放在了Cocos2d-x引擎的web目录下作为其中的一个分支(引擎中包含了C++、JS和lua版本),引擎目录如表2-1所示。

表2-1 Cocos2d-x引擎目录

根据引擎目录,读者可以更加深入地了解Cocos2d-x引擎,其中有几个目录是需要重点了解的。

  • web目录下的Cocos2d-JS引擎。
  • tools目录下有很多实用的开发工具。
  • te sts目录下是各个版本的测试工程,大多数API的使用都可以在其中找到例子。