说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

开源HTML5游戏引擎Frozen背后的技术

HTML文档下载 WORD文档下载 PDF文档下载
Frozen是一款开源的HTML5游戏引擎,它诞生的目的就是为了将构建现代Web App中使用的技术,应用到游戏开发当中。那在实现这一目的时,有哪些技术在Frozen背后支持着呢?文中就为大家揭晓这些技术及它们所起的作用。

Frozen是一款开源的HTML5游戏引擎,通过工具和模块化实现了其简单易用和快速开发的优点,而且大多的主流浏览器皆支持这一游戏引擎。它诞生的目的就是为了将构建现代Web App中使用的技术,应用到游戏开发当中,比如AMD模块、依赖管理、构建进程以及项目脚手架。


Frozen背后的技术

那么,Frozen在实现这一目的的同时,存在其背后的技术又有哪些?下面要介绍的就是这些技术及它们在构建Frozen时所起到的作用:

  • Node.js和npm:作用于构建进程和开发工作流的依赖管理。
  • Grunt:开发工作流的task runner,允许单一入口点进行开发配置。
  • Volo:负责客户端的依赖管理和项目脚手架工具。
  • Lo-Dash:库内所使用的低级工具库。
  • Hammer.js:多点触控库,用于鼠标/触摸/指针事件标准化和手势。
  • dcl:用于生成构造函数和提供AOP的简便方法。
  • Box2d:用于游戏中的物理计算。
  • Dojo:用于AMD载入器和一些库内的公共模块,Dojo构建进程是用来构建一个单独的JS文件。
  • JSDoc:生成代码文档。
  • Jasmine:使用Jasmine行为驱动,拥有灵巧而明确的语法可以让你轻松的编写测试代码。
  • AMD:所有的模块都是使用AMD编写,且单层包括一个AMD模块加载器。

代码示例:

GameCore:

require(['frozen/GameCore'], function(GameCore){  // game state  var x = 0;  var y = 0;  //setup a GameCore instance  var game = new GameCore({    canvasId: 'canvas',    draw: function(context){      context.clearRect(0, 0, this.width, this.height);      context.fillRect(x, y, 50, 50);    },    update: function(millis){      x += 1;      y += 1;    }  });  //launch the game!  game.run();});
InputManager:

require(['frozen/GameCore', 'dojo/keys'], function(GameCore, keys){  var x = 100;  var y = 100;  var speed = 2.5;  //setup a GameCore instance  var game = new GameCore({    canvasId: 'canvas',    draw: function(context){      context.clearRect(0, 0, this.width, this.height);      context.fillRect(x, y, 50, 50);    },    initInput: function(){      //tells the input manager to listen for key events      this.inputManager.addKeyAction(keys.LEFT_ARROW);      this.inputManager.addKeyAction(keys.RIGHT_ARROW);      this.inputManager.addKeyAction(keys.UP_ARROW);      this.inputManager.addKeyAction(keys.DOWN_ARROW);    },    update: function(millis){      //just an example showing how to check for presses, could be done more effeciently      if(this.inputManager.keyActions[keys.LEFT_ARROW].isPressed()){        x-= speed;      }      if(this.inputManager.keyActions[keys.RIGHT_ARROW].isPressed()){        x+= speed;      }      if(this.inputManager.keyActions[keys.UP_ARROW].isPressed()){        y-= speed;      }      if(this.inputManager.keyActions[keys.DOWN_ARROW].isPressed()){        y+= speed;      }    }  });  //launch the game!  game.run();});
ResourceManager:

require(['frozen/GameCore', 'frozen/ResourceManager'], function(GameCore, ResourceManager){  var x = 0;  var y = 0;  var speed = 1;  //setup a ResourceManager to use in the game  var rm = new ResourceManager();  var backImg = rm.loadImage('images/background.png');  var nyan = rm.loadImage('images/nyan.png');  //setup a GameCore instance  var game = new GameCore({    canvasId: 'canvas',    resourceManager: rm,    draw: function(context){      context.drawImage(backImg, 0, 0, this.width, this.height);      context.drawImage(nyan, x, y);    },    update: function(millis){      x += speed;      y += speed;    }  });  //launch the game!  game.run();});
传送门:Frozen官网、mobilehub主页

用VB6.0实现打字效果 用VB编写DirectX7.0游戏(上) 用VB创建Excel报表 用VB读取和控制Windows的中文输入法 用VB将命令行软件Windows化 用VB进行移位操作 用VB开发CAI软件的小经验 用VB开发分布式应用 用VB切换三个特殊键 用VB生成EXE文件后,如何在后面加上参数?这个参数怎样传给VB 用VB实现动态显示操作进度程序 用VB实现双向循环链表 用VB实现用户登录密码的修改 用VB与MS-Draw开发通用作图软件 用VB制作TopMost类型窗口 用VB制作Windows风格安装盘 用Visual Basic 6创建基于MTS的商务组件 用Visual Basic实现Windows的重启动 VB用Windows管理技术做你的应用程序 VB用程序给标识字段(ID)赋值的一种简单实现方法 VB用自己的'PROGRAM'测试自己的电脑 有 BitMap 之Menu -VB资料 运行其他程序,并等待执行完毕 -VB资料 再谈VB程序的加密 在 VB 程序中如何设定 Mouse 光标的位置? 在ActiveX DLL工程中慎用App对象-VB资料 在ActiveX控件工程中设置DataField属性-VB资料 在VB中异步执行程序 在VB编程中有效地组织和利用资源 在VB应用程序中巧用DLL 在VB应用程序中使用INI文件的一点体会 如何用WIN98引导盘恢复系统的引导!!!! 一个老问题 ?ACCESS2000的数据库有几行坏了,无法用ACCESS修复/无法删除,一读到该行ACCESS就直接退出,怎么办? 各位,感觉学数学难不难? 壹?ACCESS2000的数据库有几行坏了,无法用ACCESS修复/无法删除,一读到该行ACCESS就直接退出,怎么办? 号外:今天终于卖了侯捷的Inside The C++ Object Model ,休息时可以翻番,为了祝贺特灌水100 谁能给我连 接sql2000数据库数据原的原代码===火急!!! 高手帮忙,如何让我能用jbuilder5? 请问用Perl编写用户交互程序 请问各位大哥,上海的高程考试在哪里报名啊? dcom 服务器关闭时怎能捕捉异常 三戒,有请~~~ 谁知道websphere的试用版怎么做掉? 打印DataReport时怎样用API改变系统的纸型,急急急急急急急急急!!!! 新来的~~来报到了~~只能送20分~~希望大家不嫌弃~~ 请成功使用JBuilder5的朋友指教!! 激情放送 五位QQ号,100块,你会要吗? 555~~~~挂了PASCAL挂了,5555~~~~我学不好DELPHI 了5555谁帮我呀!!! 有编过游戏修改器的高手吗? jinesc领分~~~ 如何使UpDown每次增加或减少0.5? 有个问题很困惑,请教 上傳后,服務器端如何接收? 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!! 我快神经了,求救 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!!! 别笑我傻,又有简单问题 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!! 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!!!!!!! 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!!!! 大家都谈谈建立什么样的目录结构能更好的管理硬盘里的东东 lilo 如何设置??请赐教!! 各位高手好!现在有谁是正在使用 LINUX 上网的.报一下好吗!!!!!!!!!!!1 mts是什么? mts是什么?? 学习汇编要什么基础,要看什么样的书,有没有好的汇编的电子参考书下载呢? 腾讯的qq怎么不好用了? 有CCNA,Scjp2,高程的计算机本科生能卖多少?(答者有分,只能给33分,没办法) word的表格问题 如果开另外一个线程来进行注册码检验,是否比较难CRACK? 请问高程考试考试的难度 怎么让程序启动的时候接受参数? mts是什么??? 我也调查:这里有多少冠名以“独孤”的,为何独孤???? 菜鸟SOS 个人论:编写程序方法论(原作者,huangbeyond) 向流版主学习,戒网!戒网!成天在网上瞎转,不如下去加强学习,碰到问题再上网寻求答案,天天在网上泡得久了,看到各大PB网站的编程技巧都有些视而不见了.....到PB论坛很多人都象到自己喜爱的聊天室了,到论坛好象就是来聊天一样.....戒网!戒网! 如何编写一个集成Ms Word的控件,能够处理WEB上的文件排版 怎么不能下载呢? 我是女孩,有人信吗??嘻嘻~~ 他们打算在那呆几天用英语怎么说 我们经常在一起玩用英语怎么说 英语翻译像四川九寨沟,张家界,安徽黄山,桂林山水,等等 (我的女孩)求翻译英语, "我们经常在一起"用英语怎么说? "周末去旅游好吗?"的英文翻译是什么? “虽然我做不了第一个” 用英语咋说有好评 亲爱的我们永远在一起好吗?用英语怎么说 英语翻译 翻译下就行 我看看大意3. Results and discussions3.1. Extraction kineticsThe characteristics of the bed and the particles were: particle average diameter of 3.9×10−4 m, true particles density of 1524 kg/m3, apparent bed de 求翻译~第一个必好评!七年级英语! 我要我们永远在一起 帮我翻译 我要我们永远在一起单独的永远在一起 英文是什么 我们用了一周的时间在桂林欣赏了美丽的风景英文翻译 你在那里,请问英语怎么读. 我们永远在一起 用英语怎么说 我喜欢那美丽的风景!用英语怎么说? 你在那里干什么用英文怎么说 我们永远在一起”,用英语怎么说呀] 我们用一周的时间在桂林欣赏了美丽的风景英文翻译 你在那里用英语怎么讲 让我们在一起用英语怎么说 我将站在巴黎铁塔的最高层去欣赏巴黎美丽的风景 用英语翻译不要拿机器翻译 问:你在那里读书?英语怎么说 不知道以后我们会不会在一起用英语怎么说? 英语翻译希望哪位达人帮我翻译.事后会追加分值.摘要:发展旅游电子商务不仅是中国旅游业自身发展需要,也是信息时代中国旅游业面临国际旅游业竞争的必需.通过分析中泰旅游电子商务发 帽子的英语怎么读, 英语翻译求英语翻译成在线等1.仅以此画表示我的愤怒 英语翻译我觉得,最理想的度假地一定是一个美丽的海滨城市,那里要有充足的阳光,柔软的沙滩和多姿多彩的海滩派对.还要有很多美女帅哥,数不清的椰子树以及一整天都放不完的动听音乐.我 学霸用英文怎么读,学渣呢? 英语翻译 现在他们正在看一张他们教室的画. 旅游新热点 用个英文翻译 昆虫英语怎么读?给好评 自己画的画 英文翻译 最热门的旅游景点在哪里?风景旅游景点最多旅游人数是哪里? 生物用英语怎么读, 你喜欢哪一类型的画?求英语翻译 上海热门旅游景点有哪些? 香港是特别行政区用英语怎么说 英语翻译:你明天和他一起来上海吗? 英语翻译“你越轻视我,我越要游得快”.关键是“越---越---”句式 他去香港了 英语怎么说急用!写了! 英语翻译亲们,最近想跳槽到一家鞋企,人家要英文简历.我现在想知道报价员的英文该怎样翻译的.如果您是这行的就更好,希望能得到您的指点, 求“去上海一定要去东方明珠电视塔游玩”的英文翻译,关键词include 这周去香港 英语怎么说 英语翻译想翻译好报价单上交,该去哪里翻译啊 你给了我一次愉快地旅行 英文翻译 香港用英语怎么说 英语翻译注意:请用人脑翻译 帮忙用英语翻译一句话 “一次遥远的旅行” 我希望再去一次那里用英语怎么说?用 过去时态 说啊. 英语翻译是以What's —— —— —— this computer 英语翻译我相信你在中国将会有一个美好的旅行! "和某人在一起"用英语怎么说? 初一英语翻译:价格合理 英语翻译 进行一次家庭旅行 "与某人在一起"用英语怎么说?^-^ 旅游景点英文翻译 英语翻译是7个词语和成的 你打算在大连呆多久.用英语怎么说还有:你来大连多久了? 没有人愿意和他呆在一起用英语怎么说? 英语翻译先是关于九寨沟滴1.五花海2.五彩池3.我们路过了许多景点.(注意哈,过去时)4.熊猫海5.诺日朗瀑布6.树正寨还有一句:从山脚爬到山顶一共有3800米,但我和爸爸还是坚持爬了上去,
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn