由于html5游戏出现已经不是一年两年了,国外早已有数不清的比较成熟html5游戏引擎了,而且都发展多年,拿出来几乎各个都比现阶段的egret强,我随便列几个
2d方面:
Parser.js
Panda.js
kiwi.js
flixeljs
3d
Babylon.js
Three.js
其他google一下还能搜到一堆html5游戏引擎,比如jawsjs impactjs craftyjs ....
而Egret现阶段只是模仿flash的架构,而flash架构本身就不是一个游戏引擎架构,只是一个渲染引擎,而纯渲染引擎在国外也有更成熟的pixi.js,webgl canvas都支持。框架上egret更单薄,说白了也就是个对canvas的包装,比如针对低效率设备游戏最常用的tilemap都没有,只是整合了几个现有的开源件,比如龙骨p2.js,他们首要目标好像也不是增加开源引擎的功能,而是对周边工具的闭源投入非常多,连visual studio插件都做了,这是其他引擎在这个阶段时所没有的。
那问题来了,为什么刚刚起步的Egret会受到这么大的关注呢? 以至于楼主以为html5游戏前景和egret游戏呢?
走中国特色的html5游戏引擎路线,优先中国开发者市场,学习cocos2dx先进经验。想在html5上再火一把。
与前边提到的闷声做技术的引擎不同,Egret 有钱!
你是怎么知道Egret的?是在github上吗?不是。他们不是在github上有名而让其他人知道的,他们走的是在其他渠道推广,求网友到github加star的路线
他们每发布一个版本都会发统一的公关文到各大站点。一个神经猫+egret传奇的软文,你知道得花多少钱推广才能人人都知道吗?现在已经html5梦工厂的田爱娜也被挖了过去,基本上以后国内的任何html5开发者大会,你都会看到egret的宣传讲座了。
当然egret也有优势,他们更了解的中国开发者,中国开发者不会在乎各种闭源工具是怎么回事,构建工具为啥要自己写而不基于grunt.js或gulp.js,他们需要的是你能一键发布,然后就适配各种小米锤子手机了。
Turbulenz
Turbulenz是一个开源的HTML5游戏引擎,提供了可以运行在Windows、MacOS、Linux上的SDK,允许开发人员创建高质量和硬件加速的2D、3D游戏。包括以下功能:异步资源加载、进行特效和粒子渲染、支持物理效果、碰撞检测以及动画、3D音效支持、支持网络交互以及社交网络分享、场景和资源的管理。
优点:
1. 功能强大,同时支持2D和3D
2. 基于MIT协议的开源引擎
Construct2
Construct 2是一个运行于Windows平台的游戏制作工具,它可以让没有任何编程基础的用户在短时间内不写一行代码快速开发出一款可运行于所有平台(Windows、Mac、Linux、Android、iOS等)的游戏。版可以将游戏导出成HTML5。收费版本分为个人版(79英镑)和企业版(259英镑),可以导出所有平台的版本,同时提供了更多的特效和音乐。如果使用该工具盈利超过5000美元,需要升级到企业版。
优点:
1. 简单易用,可实时运行游戏
2. 强大的事件系统,可以不通过写代码来控制游戏逻辑
3. 提供了可编程扩展的接口
4. 提供了大量特效,支持物理效果
5. 支持所有平台
6. 完整的文档以及社区支持
缺点:
不如直接写代码灵活
ImpactJS
ImpactJS是一个基于JavaScript的HTML5游戏引擎,同时支持PC和移动平台浏览器。它是目前除了Construct2之外最受欢迎的HTML5游戏引擎,使用需要支付99美元。
优点:
1. 提供了灵活的关卡编辑器,可以快速构建游戏地图
2. 提供了强大的调试工具
3. 提供了Ejecta可以将JavaScript的执行结果通过OpenGL渲染出来,可以在iOS平台上获得与原生应用相近的效率
4. 文档齐全,有两本专门介绍ImpactJS开发的书
5. 支持物理效果
6. 支持自己编写插件来扩展
App Store游戏
1. Biolab Disaster
2. Drop JS
Cocos2d-html5
Cocos2d-html5是一款基于Cocos2d-x API的2D开源HTML5游戏引擎。它目前通过canvas进行渲染,将来会支持WebGL。它由国内Cocos2d-x核心团队主导开发和维护,行业领袖、HTML5大力推动者Google为这个项目提供支持。同时,Zynga、Google等大公司的工程师也参与到它的设计工作中。
优点:
1. 与Cocos2d的API类似,容易上手
2. 中文文档齐全,资料丰富
3. 基于MIT协议的开源引擎
H5edu教育html5开发解答
CreateJSCreateJS 是一套可以构建丰富交互体验的 HTML5 游戏的开源工具包,旨在降低 HTML5 项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验。
CreateJS 中包含:
EaselJS:用于 Sprites、动画、向量和位图的绘制,创建 HTML5 Canvas 上的交互体验(包含多点触控),同时提供 Flash 中的“显示列表”功能。
TweenJS:一个简单的用于制作类似 Flash 中“补间动画”的引擎,可生成数字或非数字的连续变化效果。
SoundJS:一个音频播放引擎,能够根据浏览器性能选择音频播放方式。将音频文件作为模块,可随时加载和卸载。
PrloadJS:帮助你简化网站资源预加载工作,无论加载内容是图形、视频、声音、JS、数据……
以上的Createjs介绍来自百度,不过通过介绍可以知道,虽然CreateJS看起来复杂,不过四个部分各有作用,其中最主要的就是EaselJS,其余三项不过是为他服务。
一.如何使用EaselJS
首先到http://createjs.com/ 下载最新版的EaselJS,下载解压后可以在lib文件夹中找到easeljs-0.8.1.min.js,同时在压缩包中可以找到一个examples和tutorials目录,这两个目录中包含一些入门介绍和例子,有英语基础可以看看,DOC文件夹中包含easeljs所有的api。(同理,可以得到createjs包含的其他三项,其目录结构都与EaselJS相似)。
1.得到easeljs-0.8.1.min.js后,新建一个HTML5文件并导入之:
[html] view plain copy
<script src="easeljs-0.8.1.min.js"></script>
2.入口函数和创建canvas标签
[html] view plain copy
<body onload="init()">
<canvas id="game" width="1000" height="700" style="background-color: white"></canvas>
</body>
3.编写自己的javascript代码,在函数init()中首先应该使用HTML中的canvas标签来创建一个Stage,createjs中用到的所有元素,都是添加在这个stage当中的,添加后调用stage.update()方法即可使得添加的元素显示在页面上。在创建Stage时,可以直接使用Canvas的id来创建,也可以调用document.getElementById("game"),选取canvas来创建,没有区别。
[javascript] view plain copy
<script>
function init(){
var stage = new createjs.Stage("game")
.......
stage.update()
}
</script>
二.使用EaselJS创建图形和文字
最简单的游戏都是由文字和图形组成,使用EaselJS添加文字和图形非常的简单。
1.添加文字
[html] view plain copy
var txt = new createjs.Text("HELLO","20px Times","#000")
Createjs中所有的元素都通过调用new createjs.XXXXX来创建,Text包含三个参数分别是显示的字符,字体及大小,最后是颜色。当然在创建完成后可以随意改变txt的x,y坐标和对其,居中以及内容等等的属性。例如:
[html] view plain copy
txt.x = 100
txt.y = 100
txt.text = "hello, world!"
完成后记得一定要把新创建的txt添加到stage中才能正常显示