CreateJS 与 Cocos2d-HTML5 的比较
来源:互联网 发布:网络本科文凭有用 编辑:程序博客网 时间:2024/06/04 00:39
之前看了很多HTML5游戏框架,也做了详细的分析比较,就目前来说 只有 CreateJS 和 Cocos2d-HTML5 具备 商业开发的水准, 一方面 是 功能实现程度 和 稳定性,另一方面是 商业公司的 支持力度 ( 一个是Adobe,另一个是触控科技 )。 总的来说,两款 引擎的 在开源社区的 人气还是不错的,基本 也是 目前 HTML5 2d游戏 最好的 两个选择。
当然具体比较 两款引擎,差别还比较大的,下面 我做一个 稍微 详细的 分析。
一. API设计
在API设计方面,CreateJS 与 Flash 相似, 包括 Stage,DisplayObject,Container,Sprite 等等 都与 Flash 是完全一致的, 对于 Flasher 来说,很容易就能 用熟悉的方式 编写 JS 代码了。
Cocos2d-HTML5 是 Cocos2d-x 的 HTML5版本,在 API 上与 C++ 的那一套代码 基本一致, 所以写过 Cocos2d-x 的人 上手起来肯定更快。
二. 框架特点
这里需要说明的是,CreateJS 并不完全算的上是一款 游戏框架, 更准确的说 应该是一款 动画交互框架,它提供了 事件模型,心跳机制,渲染机制,显示对象,滤镜,音频,资源管理,补间动画 这些常用的功能,基本能满足 一些 简单游戏的 开发了。
而 Cocos2d-HTML5 就完全是一款 游戏框架了,所以 在框架的 重量级 上 也比 CreateJS 大不少( 压缩后 1M 多 ),提供了canvas 和 webgl 两种不同的渲染方式,一些 常用的 GUI 组件(Label,MenuItem,ScrollView等) 和 大量的 扩展功能(Tilemap,Box2d,GL特效和 3D变换),在功能上 对于 游戏开发者来说算是 很丰富了。
三. 工具支持
在 Flash CS6中,通过 Toolkit for CreateJS 可以将 flash 动画 导出成 CreateJS 可用格式。另外 CreateJS 中的 ZOE 工具 也能 将 swf 导出成 json数据 和 图片资源,但是不灵活,比如 一个骨骼动画 却导出成了 序列帧,一百多帧的 图片大小可想而知。
而 CocosStudio 是为 Cocos2d 系列 量身定做的,编辑 UI 和 动画都很方便。
四. 移动平台本地化
html5应用目前还没有一个核心平台去提高产品的曝光率,导致很多时候,我们不得不将Web App通过浏览器包壳的方式包装成 本地应用去发布。
所以,如果使用浏览器打包的方式,CreateJS 和 Cocos2d-HTML5 都会面临 本地访问资源跨域的问题。所以需要对框架进行跨域处理,其中 CreateJS 里面的 鼠标检测机制 (hitTest)需要重写,即 原来的 像素检测 修改为 矩阵检测 (getImageData 不能处理跨域资源)。
而 Cocos2d-HTML5 要完全重写 Load 机制(基于XmlHttpRequest),显然是不可取的。当然 Cocos2d-JSB 能帮我们很好的 解决本地化问题,通过 HTML5版本 和 JSB版本的 JS代码兼容(两者的 API 90%上是一致的,不一致的部分就完全是个坑了~~),可以 通过原生应用的 方式去 运行程序了。
五. 优缺点
通过两个框架的使用经历,两个框架的 优缺点 都很明显。
CreateJS 的优点是 轻量级,上手快,易扩展,开发中小型游戏十分合适,缺点是 工具支持不够好,缺少游戏相关的功能。
Cocos2d-HTML5的优势 就是功能丰富,工具支持(2.2以后),可移植成原生程序(JSB版本),缺点是 移植成原生应用时坑太多(新版本好像好一些),而且对Cocos2d API依赖性太强,不能轻易修改。
就目前来说,CreateJS 和 Cocos2d-HTML5 都很不错了,大家可以 根据不同的需求可以选择 合适的框架。
希望 大家 都能用HTML5 做一些 重量级的产品吧。
- CreateJS 与 Cocos2d-HTML5 的比较
- 主流HTML5游戏框架的分析和对比(Construct2、ImpactJS、CreateJS、Cocos2d-html5……)
- 主流HTML5游戏框架的分析和对比(Construct2、ImpactJS、CreateJS、Cocos2d-html5……) .
- mark html5游戏开发的引擎createjs
- 前端游戏引擎CreateJS与PixiJS之比较
- HTML5 CreateJs-EasyJs Stage以及 container的应用
- html5与html4的比较
- HTML5中Canvas与SVG的比较
- HTML5 与 Flash 比较
- 分享一个帮助你快速构建HTML5游戏的javascript类库 - CreateJS
- 轻装上阵Html5游戏开发,JEESJS,基于CreateJS封装的H5应用JS库。
- 搭建 Cocos2d-html5环境与webstorm的配置
- createjs初学-preloadJS的使用
- createjs初学-preloadJS的使用
- Flash与HTML5性能比较
- html5与flash性能比较
- [转]HTML5中Canvas与SVG的画图原理比较
- HTML5中Canvas与SVG的画图原理比较
- HDU 1259(水题)
- easyUI 中datatGrid操作
- frameset中的frame去除进度条
- DialogFragment和AlertDialog的使用
- gets函数的漏洞
- CreateJS 与 Cocos2d-HTML5 的比较
- 重写ViewGroup实现App第一次启动向导
- 【机器学习】K-MEANS算法探究
- s5pv210 android4.0.3调试,如何去掉SGX540硬件加速
- HDU 1261(全排列,大数乘除)
- occas resources security初探
- Hibernate学习笔记之EHCache的配置
- Android碎片Fragment使用简介
- C# Socket编程