这是什么情况 贾玲况

2016年 最火的 15 款 HTML5 游戏引擎
HTML5游戏从2014年Egret引擎开发的神经猫引爆朋友圈之后,就开始一发不可收拾,今年《传奇世界》更是突破流水2000万!从两年多的发展来看,游戏开发变得越来越复杂,需要制作各种炫丽的效果,还要制作各种基于 2D 或者 3D 的场景。作为一名开发者,分析了当下最火爆,最热门的HTML5游戏引擎供大家参考,希望大家也能找到属于自己的那款游戏开发引擎。
我在github上面收集了四十多款的HTML5开源游戏引擎,从里面star、fork等等参数分析其流行度,最后综合各方面元素,筛选出靠前的十五款(包含三款非开源游戏引擎)
Updated Time
Contributors
Updated Time
Contributors
Construct 2是一个运行于Windows平台的游戏制作工具,它可以让没有任何编程基础的用户在短时间内不写一行代码快速开发出一款可运行于所有平台(Windows、Mac、Linux、Android、iOS等)的游戏。免费版可以将游戏导出成HTML5。收费版本分为个人版(79英镑)和企业版(259英镑),可以导出所有平台的版本,同时提供了更多的特效和音乐。如果使用该工具盈利超过5000美元,需要升级到企业版。
简单直观,入门容易,无需编程也能做游戏,长处是开发射击及动作类的平面游戏,有丰富的英文资料。
支持多平台(Android,iOS,Windows)
简单易用、无需编程知识可以使用,可实时运行游戏;
提供了大量特效,支持物理效果,有开发者商城,在上面可以购买到各种开发插件和游戏素材;
强大的事件系统,可以不通过写代码来控制游戏逻辑;
提供了可编程扩展的接口,可以自己开发插件;
完整的文档以及社区支持。
非开源,且中文教程极其匮乏;
由于网页,手机都是相对于电脑来说性能较低的硬件产品,所以需要开发者更好的运用系统资源,甚至在windows平台也是如此,因为其windows的输出格式也是利用Chrome浏览器的内核所做,也就是说本质上还是在浏览器上运行。
点评:使用最多的HTML5商业引擎,更新快且开发者商城支持非常棒,推荐!**
Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精采的演示。
Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和WebGL渲染,基于浏览器支持可自由切换。快速、免费、易于维护,使用Phaser来开发2D小游戏的优势显而易见。一方面,开发者可以直接通过Koding平台上的VM开发系统进行代码编写及预览。另一方面,也可以在支持Canvas的浏览器中直接安装Phaser来进行游戏开发。
主要特性:
JavaScript、TypeScript双重支持
内置游戏对象的物理属性
WebGL、Canvas渲染自由切换
完全支持Web音频
输入:多点触控、键盘、鼠标、MSPointer事件
除了IE 9+、Firefox、Chrome、Safari及Opera等桌面浏览器之外,Phaser还支持Mobile Chrome(Android 2.2+)及Mobile Safari(iOS 5+)等移动浏览器。使用Phaser进行游戏开发没有任何语言设定,并且,在Phaser官网上,还提供了非常详细的开发指南,想要一探究竟的开发者不妨直接登陆Phaser查看。
Pixi.js是一款超快的开源HTML5 2D渲染引擎,使用带有Canvas回调功能的WebGL。作为JavaScript的2D渲染器,Pixi的目标是,可以提供一个快速且轻量级的2D库,并能兼容所有设备。此外,让开发者无需了解WebGL,就可以感受到硬件加速的力量。
主要特性:
真正的跨平台:在今天,开发工具跨平台已经不是什么稀奇的事了。不过,Pixi.js则是一个可以兼容所有设备的超快HTML5 2D渲染引擎,并且拥有canvas回调功能的WebGL,实现真正的跨平台。
交互式多点触控:Pixi不仅支持移动和平板设备,还具有完整的多点触控输入识别,让开发者可以发挥自己的能力去挖掘出它所有的潜力。
WebGL过滤器:当使用WebGL时,Pixi允许你使用自己熟悉且现有的过滤器。当然,你也可以使用自己创建的独一无二的过滤器,比如自定位移和半色调效果。
着色和混合模式:对设计师来说,会很喜欢这个,Pixi.js允许用户着色和使用混合模式就像其他常见的视觉包比如Photoshop或Flash。
渲染器自动检测:这个算是Pixi的一大特色,虽然Pixi是主要作为WebGL 2D渲染器而创建的,但仍支持非WebGL平台。其解决方案就是创建一个Canvas回调系统,只需一次编码,Pixi就可无缝管理回调。
简易API:设计直观,易于上手。
资源加载:精灵表单、图形、字体和动画数据等都可通过Pixi.js来加载和处理。
支持精灵表单(Sprite sheet)。
Egret 游戏解决方案包含了开源免费的 HTML5 游戏引擎、Egret 项目开发工具集合、动画特效制作工具、原生多平台打包工具、高效的 HTML5 游戏应用加速器、以及支持多渠道的开放平台等。开发者可以通过Egret项目开发工具快速、高效的制作及开发游戏相关各类内容,加速器将游戏效果提高到与原生游戏相媲美的效果。制作后的游戏发布到开放平台后,有着优质的渠道资源可以将游戏推荐给更多的用户,使得游戏开发、发布、推广变为一体化内容。
主要特性:
基于TypeScript及JavaScript技术,支持Flash到Egret高效转换,引擎、工具、运行时完整工作流
跨平台:HTML5,iOS,Android,Windows Phone
全中文文档:文档与开发者社区齐全
开源免费,BSD开源协议、任意定制及扩展
Enchant.js 是个简单的 JavaScript 框架,可以使用 HTML5 和 JavaScript 来开发简单的游戏和应用。现在还是由 UEI 的 Akihabara 研究中心来开发和维护。在线演示
Crafty是一个体积小、简单、轻量级的2D的HTML5游戏引擎,它提供了通过Canvas或DOM来绘制实体,提供了精灵Map以及SAT高级碰撞监测支持。它是由个人(Louis Stowasser)创建,同时由Github上的一些开发者共同开发。
轻量级引擎,不会受到框架的太多束缚
同时支持PC和移动平台浏览器
Turbulenz是一个开源的HTML5游戏引擎,提供了可以运行在Windows、MacOS、Linux上的SDK,允许开发人员创建高质量和硬件加速的2D、3D游戏。包括以下功能:异步资源加载、进行特效和粒子渲染、支持物理效果、碰撞检测以及动画、3D音效支持、支持网络交互以及社交网络分享、场景和资源的管理。优点:1. 功能强大,同时支持2D和3D2. 基于MIT协议的开源引擎
cocos2d-js是一款基于Cocos2d-x API的2D开源免费HTML5游戏引擎。它目前通过canvas进行渲染,将来会支持WebGL。它由国内Cocos2d-x核心团队主导开发和维护,行业领袖、HTML5大力推动者Google为这个项目提供支持。同时,Zynga、Google等大公司的工程师也参与到它的设计工作中。
与Cocos2d的API类似,容易上手
中文文档齐全,资料丰富
基于MIT协议的开源引擎
PlayCanvas是一个基于 WebGL游戏引擎 的企业级开源JavaScript框架,它有许多的开发工具能帮你快速创建3D游戏。PlayCanvas.js由一个专业社区创建,最初并不是开源的,但现在你可以在github上fork PlayCanvas.js,然后在你的下一个3D游戏项目中免费使用。它还提供了能在浏览器中云心的云编辑器,开始使用PalyCanvas和导航到编辑器的URL一样容易。
melonJS是一个全新、轻量级,基于精灵的2D游戏引擎。兼容所有支持HTML5览器包括:Chrome、Safari、Firefox、Opera。支持多声道。提供基本物理和碰撞机制(以确保CPU的要求低),一组基础的实体对象(可扩展)。支持补间动画效果。一个状态管理器(可以轻松管理加载,菜单,选项和在游戏画面状态的开关)。提供一些基本的GUI元素。一个可定制的加载器。&
Quintus是一款易于上手、轻量级、开源的HTML5 JavaScript游戏引擎,包含一个模块化的引擎可轻松开发游戏,并在同一个页面上运行多个实例,支持桌面及移动平台浏览器。Quintus引用面向对象的思想来进行HTML5游戏开发,同时依赖于jQuery来提供事件处理机制和元素选取操作。
ImpactJS是一个基于JavaScript的HTML5游戏引擎,同时支持PC和移动平台浏览器。它是目前除了Construct2之外最受欢迎的HTML5游戏引擎,使用需要支付99美元。
ImpactJS 曾经风靡一时,使用ImpactJS 开发的该游戏被国外很多网站评选为二十款优秀游戏之一。
提供了灵活的关卡编辑器,可以快速构建游戏地图
提供了强大的调试工具
提供了Ejecta可以将JavaScript的执行结果通过OpenGL渲染出来,可以在iOS平台上获得与原生应用相近的效率
文档齐全,有两本专门介绍ImpactJS开发的书
支持物理效果
支持自己编写插件来扩展
缺点:1.非开源,且中文教程极其匮乏;2.更新慢,功能不够强大;
GameMaker与Construct 2类似,都是一个游戏制作工具,可以导出到各个平台运行,分为免费版、标准版(49.99美元)、专业版(99.99美元)和大师版(799.99美元)。其中免费版只能导出Mac和Windows版本,导出HTML5需要大师版或者专业版(再额外支付99.99美元)。
优点和缺点:优势与Construct2类似,但性价比不如Construct2高
Hilo,一套HTML5跨终端的互动游戏解决方案开源啦!。Hilo支持了多届淘宝&天猫狂欢城等双十一大型和日常营销活动。内核极简,提供包括DOM,Canvas,Flash,WebGL等多种渲染方案,满足全终端和性能要求。
主要特性:
极简内核: Hilo核心模块极精简,保留了2D游戏引擎最必要的模块,同时采用模块化管理。
完善接入&扩展: Hilo 支持多种模块范式的包装版本,包括AMD,CMD,Standalone多种方式接入。另外,你可以新增和扩展需要的模块和类型。
多种渲染方式:提供DOM,Canvas,Flash,WebGL等多种渲染方案,可以做到跨全端,高性能的要求。
完善的周边工具:提供动画编辑器 ,Yeoman脚手架及典型案例产出的辅助开发工具。
案例丰富: 支持天猫,手淘多次大型和日常活动,如双十一,年中大促等。代表产品如狂欢城。 本文参考数据来自:1.&2.&
转载请注明:文章转载自 开源中国社区
本文标题:2016年 最火的 15 款 HTML5 游戏引擎
本文地址:
引用来自“喷子”的评论VR需要个屁引擎,视频播放器而已。引用来自“无敌菌”的评论头衔和黑头像是原生的,还是被赋予的? 你猜~
引用来自“喷子”的评论VR需要个屁引擎,视频播放器而已。头衔和黑头像是原生的,还是被赋予的?
VR需要个屁引擎,视频播放器而已。为什么不用js去渲染页面? - fengshihao - ITeye技术网站
博客分类:
为什么不用js去渲染页面?
用js去渲染页面,服务器只提供数据。 那么页面都可以是静态的html文件。 通过ajax获取数据。然后js去渲染。 这样不是很和谐么?
而且好处也很多。首先页面只包含模板,静态化有助于各级缓存。
其次js 渲染简单方便。分担服务器渲染的计算量。
服务器程序实现简单只提供数据。
画个流程吧:
client ---------------------- & server
html模板 + js
ajax -------------&
&------------json 数据
把json数据 填充 html 模板 -----& 浏览器解析渲染画到屏幕上
我指的就是js 填充 html模板这一过程.
我觉得 唯一不好的是搜索引擎不知道支持不支持这种页面了。
可是奇怪的是虽然有很多js渲染库 。有的横方便而且超简单 。但是各个网站并没有使用这些技术。请问只是为啥。仅仅是对搜索引擎不友好么?
自己照着tempo.js写了一个用于 js模板渲染的函数。
function render(id, data, insert){
if(!render.__t)render.__t = {};
var t = render.__t[id];
dom = document.getElementById(id);
var html = dom.innerHTML.replace(/[\n\r]/gm,' ')
.replace(/([\'|\\|\"])/gm,"\\$1")
.replace(/#([\w\d]{3,40})#/gmi, "'+data[\"$1\"]+'");
html = ["return '", html ,"';"].join('');
t = new Function('data',html);
render.__t[id] =
dom.innerHTML = '';
var ret = '';
if(data.length){
for(var i=0,len=arr. i& i++){
arr[i] = t(arr[i]);
ret = arr.join('');
ret = t(data);
if(insert == 0){
ret = ret + dom.innerHTML;
}else if(insert == -1){
ret = dom.innerHTML +
dom.innerHTML =
var obj = {urladdr:'', name:'草根'};
render('xxx',obj);
搞定 。 如果穿进去一个list [] 。就会渲染出一串。
做了一个例子
渲染sohu微博页面的.
http://fengshihao.tk/jst.html
打开页面直接看源码.
渲染速度没问题 .
实现有两种方式,
1 把生成的json数据放到页面里 直接带过来.(不知道这样对 seo支持的怎么样?)
2 用ajax去获得.
fengshihao
浏览: 35810 次
来自: 北京
&div class=&quote_title ...
兄弟你的get,post方法上为什么返回ChannelPipl ...
翻译的不错
跟原文对照看
有收获 呵呵
我也觉得这样分开,js重绘页面比较好,而且如果做控件的话,看起 ...24773人阅读
html5&javascript(66)
游戏引擎(54)
现在越来越多的人开始尝试使用HTML5开发,HTML5的引擎也逐渐增多,开发者到底应该选择一款什么样的引擎呢?这一次我来对比一下几个我个人认为还不错的引擎的效率。本次参加对比的引擎:1. createJS2. cocos2d-HTML53. enchant.js4. lufylegend.js测试浏览器:chrome一,图片显示效率比较测试内容,随机在页面上显示15000个小图片。1,裸奔(不用任何引擎)。测试代码如下var c=document.getElementById(&canvas&);
var ctx=c.getContext(&2d&);
ctx.font=&20px Arial&;
var img = new Image();
img.onload =
img.src = &CloseNormal.png&;
var ccc = [];
var $count = 0;
var fps = 0;
var $time = new Date().getTime();
for(var i=0;i&15000;i++){
x = Math.random()*320 - 10;
y = Math.random()*480 - 10;
ccc.push({x:x,y:y});
function draw(){
for(var i=0;i&15000;i++){
var co = ccc[i];
ctx.drawImage(img,0,0,20,20,co.x,co.y,20,20);
var now = new Date().getTime();
if( now-$time&1000 ){
$count = 0;
ctx.fillText(fps,1,20);
setTimeout(draw,1);
}得到测试结果如下图结果,裸奔的情况下,显示15000张图片,FPS在28左右。2,createJS测试代码如下var canvas = document.getElementById(&canvas&);
var manifest = [{id:&s_CloseNormal&, src:&CloseNormal.png&}];
var loader = new createjs.PreloadJS(false);
loader.onFileLoad = handleFileL
loader.onComplete = handleC
loader.loadManifest(manifest);
var _fps,$time,$count = 0;
var images = [];
function handleFileLoad(o){
if (o.type == &image&) {
images[o.id] = o.
function handleComplete(){
stage = new createjs.Stage(canvas);
createjs.Ticker.setFPS(30);
for(var i=0;i&15000;i++){
var bitmap = new createjs.Bitmap(images[&s_CloseNormal&]);
bitmap.x = Math.random()*320 - 10;
bitmap.y = Math.random()*480 - 10;
stage.addChild(bitmap);
_fps = new createjs.Text(&0&,&900 16px Arial&, &#ffffff&);
stage.addChild(_fps);
$time = new Date().getTime();
createjs.Ticker.addEventListener(&tick&, tick);
function tick(){
var now = new Date().getTime();
if( now-$time&1000 ){
_fps.text = &fps:&+ Math.round( $count*10000 / (now-$time))/10;
$count = 0;
stage.update();
}得到测试结果如下图结果,createJS显示15000张图片,FPS大约在17左右3,cocos2d-html5测试代码如下var MyLayer = cc.Layer.extend({
isMouseDown:false,
helloImg:null,
helloLabel:null,
circle:null,
sprite:null,
init:function () {
this._super();
var size = cc.Director.getInstance().getWinSize();
for(var i=0;i&15000;i++){
var sprite = cc.Sprite.create(s_CloseNormal);
sprite.setPosition(size.width*Math.random(), size.height*Math.random());
this.addChild(sprite, 0);
var MyScene = cc.Scene.extend({
onEnter:function () {
this._super();
var layer = new MyLayer();
this.addChild(layer);
layer.init();
});得到测试结果如下图结果,cocos2d-html5显示15000张图片,FPS大约在19左右4,lufylegend.js测试代码如下init(10,&mylegend&,320,480,main);
function main(){
var loader = new LLoader();
loader.PLETE,loadBitmapdata);
loader.load(&CloseNormal.png&,&bitmapData&);
function loadBitmapdata(event){
var bitmapData = new LBitmapData(event.currentTarget);
for(var i=0;i&15000;i++){
var bitmap = new LBitmap(bitmapData);
bitmap.x = Math.random()*LGlobal.width - 10;
bitmap.y = Math.random()*LGlobal.height - 10;
addChild(bitmap);
var fps = new FPS();
addChild(fps);
}得到测试结果如下图结果,lufylegend.js显示15000张图片,FPS大约在25左右5,enchant.js测试代码如下enchant();
window.onload = function(){
var core = new Game(320, 480);
core.fps = 30;
core.preload('CloseNormal.png')
core.onload = function(){
for(var i=0;i&15000;i++){
var bear = new enchant.Sprite(20, 20);
bear.image = core.assets['CloseNormal.png'];
bear.moveTo(Math.random()*320 - 10, Math.random()*480 - 10);
core.rootScene.addChild(bear);
var oldTime = new Date();
var text = new Label();
core.rootScene.addChild(text);
var fps = 0;
core.addEventListener('enterframe', function(){
var newTime = new Date();
if(newTime.getTime() - oldTime.getTime() &= 1000){
text.text = fps + & FPS&;
oldTime = newT
core.start();
};得到测试结果如下图结果,enchant.js显示15000张图片,FPS大约在13左右得出结论,在显示图片上,各个引擎的效率如下裸奔 & lufylegend.js & cocos-html5 & createJS & enchant.js二,文字显示效率比较测试内容,随机在页面上显示500个文字对象,并且随机设置它们的颜色和旋转。1,createJS测试代码如下var canvas = document.getElementById(&canvas&);
var _fps,$time,$count = 0;
function test(){
stage = new createjs.Stage(canvas);
createjs.Ticker.setFPS(30);
for(var i=0;i&500;i++){
var label = new createjs.Text(&HTML5各引擎效率比较&,(10 + 20*Math.random())+&px Arial&, &#ffffff&);
label.color = randomColor();
label.rotation = 180*Math.random()/Math.PI;
label.x = Math.random()*320 - 50;
label.y = Math.random()*480;
stage.addChild(label);
_fps = new createjs.Text(&0&,&900 16px Arial&, &#000000&);
stage.addChild(_fps);
$time = new Date().getTime();
createjs.Ticker.addEventListener(&tick&, tick);
function tick(){
var now = new Date().getTime();
if( now-$time&1000 ){
_fps.text = &fps:&+ Math.round( $count*10000 / (now-$time))/10;
$count = 0;
stage.update();
function randomColor(){
var rand = Math.floor(Math.random() * 0xFFFFFF).toString(16);
if(rand.length == 6){
return randomColor();
};得到测试结果如下图结果,createJS显示500个文字,FPS大约在12左右2,enchant.js测试代码如下enchant();
window.onload = function(){
var core = new Game(320, 480);
core.fps = 30;
core.onload = function(){
for(var i=0;i&500;i++){
var label = new Label();
label.text = &HTML5各引擎效率比较&;
label.color = randomColor();
label.font = (10 + 20*Math.random())+&px Arial&;
label.rotation = 180*Math.random()/Math.PI;
label.x = Math.random()*320 - 50;
label.y = Math.random()*480;
core.rootScene.addChild(label);
var oldTime = new Date();
var text = new Label();
core.rootScene.addChild(text);
var fps = 0;
core.addEventListener('enterframe', function(){
var newTime = new Date();
if(newTime.getTime() - oldTime.getTime() &= 1000){
text.text = Math.round( fps*10000 / (newTime.getTime() - oldTime.getTime()))/10 + & FPS&;
oldTime = newT
core.start();
function randomColor(){
var rand = Math.floor(Math.random() * 0xFFFFFF).toString(16);
if(rand.length == 6){
return randomColor();
};得到测试结果如下图结果,enchant.js显示500个文字,FPS大约在12左右3,lufylegend.js测试代码如下init(10,&mylegend&,320,480,main);
function main(){
for(var i=0;i&500;i++){
var label = new LTextField();
label.text = &HTML5各引擎效率比较&;
label.size = 10 + 20*Math.random();
label.color = randomColor();
label.rotate = 180*Math.random()/Math.PI;
label.x = Math.random()*LGlobal.width - 50;
label.y = Math.random()*LGlobal.
addChild(label);
var fps = new FPS();
addChild(fps);
function randomColor(){
var rand = Math.floor(Math.random() * 0xFFFFFF).toString(16);
if(rand.length == 6){
return randomColor();
}得到测试结果如下图结果,lufylegend.js显示500个文字,FPS大约在21左右4.cocos2d-html5测试代码如下var MyLayer = cc.Layer.extend({
isMouseDown:false,
helloImg:null,
helloLabel:null,
circle:null,
sprite:null,
init:function () {
this._super();
var size = cc.Director.getInstance().getWinSize();
for(var i=0;i&500;i++){
this._super();
var label = cc.LabelTTF.create();
label.setFontName(&Arial&);
label.setFontSize(10 + 20*Math.random());
label.setString(&HTML5各引擎效率比较&);
label.setColor(cc.c3b(255*Math.random(), 255*Math.random(), 255*Math.random()));
label.setRotation(180*Math.random()/Math.PI);
this.addChild(label);
label.setPosition(size.width*Math.random(), size.height*Math.random());
var MyScene = cc.Scene.extend({
onEnter:function () {
this._super();
var layer = new MyLayer();
this.addChild(layer);
layer.init();
function randomColor(){
var rand = Math.floor(Math.random() * 0xFFFFFF).toString(16);
if(rand.length == 6){
return randomColor();
}得到测试结果如下图结果,cocos2d-html5显示500个文字,FPS大约在90左右此结果让我吃了一惊,cocos2d-html5达到了惊人的90fps,你一定会问,为什么?稍等,我们把lufylegend.js的测试代码稍作改动,来再次测试一下,测试代码如下。init(1,&mylegend&,320,480,main);
function main(){
for(var i=0;i&500;i++){
var sprite = new LSprite();
var label = new LTextField();
label.text = &HTML5各引擎效率比较&;
label.size = 10 + 20*Math.random();
label.color = randomColor();
sprite.addChild(label);
var bitmapData = new LBitmapData(null,0,0,label.getWidth(),label.getHeight());
bitmapData.draw(sprite);
var bitmap = new LBitmap(bitmapData);
bitmap.rotate = 180*Math.random()/Math.PI;
bitmap.x = Math.random()*LGlobal.width - 50;
bitmap.y = Math.random()*LGlobal.
addChild(bitmap);
var fps = new FPS();
addChild(fps);
function randomColor(){
var rand = Math.floor(Math.random() * 0xFFFFFF).toString(16);
if(rand.length == 6){
return randomColor();
}得到测试结果如下图结果显示,lufylegend.js显示500个文字时,如果先将文字转换为图片,则FPS大约在146左右因为在canvas中显示图片要比文字的效率高很多,所以先把文字转换为图片后再显示,可以让效果达得到质的飞跃。而这种做法在lufylegend.js里也可以轻松实现。结论,在显示文字上,各个引擎的效率如下&lufylegend.js(将文字转换为LBitmapData)&& cocos2d-html5&& lufylegend.js&& createJS = enchant.js综合两个测试,各引擎效率如下:lufylegend.js & cocos2d-html5&& createJS&& enchant.js注:此结果是canvas下的测试结果,cocos2d-html5同时支持多种渲染,可自动切换到WebGL进行高效渲染,和canvas不是一个档次,不在本次测试比较范围。关于cocos2d-html5开启webgl后的效果看下面截图,为15000张图片渲染结果,满帧显示。以上测试可以给大家当作一个参考,如果我的测试方法不当,欢迎提出。可以看到,使用canvas开发游戏,只要开发方法得当,lufylegend.js在效率上可以完胜其他引擎,当然,各个引擎都有自己的优势,createjs和flash之间的完美转换,cocos2d-html5的JSB绑定,该怎么选,大家各取所需吧。欢迎继续关注我的博客转载请注明:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1336132次
积分:15150
积分:15150
排名:第572名
原创:87篇
译文:27篇
评论:2258条
系统讲解HTML 5 Canvas的基础知识和高级技巧,深入剖析开源库件lufylegend的原理与使用以实例为向导,详细讲解射击游戏、物理游戏、网络游戏等各类游戏的开发思路和技巧
qq交流群:
qq交流群:
文章:27篇
阅读:175970
文章:20篇
阅读:231793
文章:48篇
阅读:683527
三国记是一款以三国时期为背景的战略类游戏,玩家可以任选一名君主,以统一全国为目标。
本游戏以三国为背景,本次更新为第一部黄巾之乱的后续剧情,续作了群雄讨伐董卓,界桥之战以及救援徐州等剧情。
本游戏以三国为背景,玩家在游戏中可以体验三国中的四个经典战役,虎牢关之战,官渡之战,赤壁之战,夷陵之战。
(5)(2)(16)(5)(1)(1)(4)(1)(2)(2)(1)(2)(1)(3)(4)(4)(5)(4)(2)(1)(1)(2)(3)(4)(5)(2)(2)(4)(1)(5)(9)(1)(1)(1)(1)(2)(1)(3)

我要回帖

更多关于 这是什么情况折腾5号 的文章

 

随机推荐