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

开源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主页

美国高通公司在深圳召开参考设计及无线创新峰会 提供“一站式”整合服务 友盟正式推出消息推送平台 iOS 8新功能再曝光:或推出分屏多任务功能 Framer:开源原型设计工具,巨头们的心头好 亚特兰大峰会精彩看点:软件吞噬世界,OpenStack是变革核心 数据中心基础设施是大数据战略成败的关键 实时大数据分析:网络分析的一种新方法 最新消息:iPhone 6将采用更大、更清晰的1704x960分辨率屏幕 吴毅挺:OpenStack是开源IaaS平台大势所趋的集大成者 做好扁平化设计-交互篇 狙击Google Glass?三星将推基于Tizen系统的Gear Glass GamePlay:跨平台开源3D游戏引擎,黑莓的努力你不懂 “少即是多” 高通QRD大会精华汇总 天云盾:构筑在云端的Web安全防护 解析大数据时代的数据库集群技术 莫里航海图,最早的大数据实践 弥补空缺!HappyFox面向iOS开发者发布开源移动HelpDesk SDK Chitika北美网络流量报告:WP KO黑莓、iOS超Android 《近匠》秦时明月:知名IP光环下的生存之道 微软研究院正式发布编程学习游戏Code Hunt 走近讲师:Memblaze刘爱贵讲述云计算中的闪存应用 【云先锋】ClouDil云方案:PB级大数据解决方案 一周消息树:这是要“发”啊?Google Brain之父正式加盟百度 最受欢迎的游戏引擎集结号:小白篇 多盟总设计师邢开捷:四两设计拨千金 Cocos2d-x游戏《Monster Strike》终结《智龙迷城》霸榜神话 高通物联网技术解决方案:从汽车到智慧城市 Arduino携手Atmel 发布Arduino Zero开发板 以色列玫瑰:细数十位科技创新领域的女性佼佼者 8款最佳的开源在线学习CMS系统 在发布站点前,Web开发者需要关注哪些技术细节? 在listbox 中,如果知道了一个Item的内容,怎么知道它的indix 今有同仁问到,三十以后咋过。恰巧心情郁闷,发上几句牢骚。 少年暗恋对象,早已嫁作人妇。那天遇见街头,孩子叫我叔叔。 OICQ问题! 如何可获得Table 内字段的类型及长度? windows2000 server 的internet 共享怎样设置权限 软件开发的请进来讨论,关于报酬的问题。大家多提建议。 1.为什么有些地方可以用MessageBox函数,有些地方不可以2.mfc的CView::OnFilePrint提供了打印的方法,要是一个程序没有视图要打印一般用什么方法? 请问在DEVELOP2000里面可以使用进度条控件吗?怎么编程实现? ???oracle监听器问题? WebBrowser控件获得网页中文本框的名称该如何写? CFtpConnection 怎样在FastReport中控制或判断所连接的数据库表到了eof? CTypedPtrList模板对象中,如何删除指定位置的元素??十分着急! ms sql server 的技术问题 怎样清除事务日志????????? 在那里改个人在cdsn.net注册信息(如名字,地秩)? 关闭窗口的事件如何触发?( 高手们请问deiphi如何实玩宏代换???????????十分火急!!!!!!! 请帮忙!!SOS!!! 请问如何实现宏代换????????????? 关于打印的一个不错的设想 我是新手,初次接触网络管理,请问要管理局域网需要具备哪些方面的知识,需要安装那些应用软件?有什么好书可以介绍吗?谢谢各位! 在VB中设计控件,其上放有uText1、Text2,当uText1失去焦点时,并不触发Validate事件 如何在程序中判断是否做了超级连接? 怎样使listview中的大图标左右居中,上下居中。 怎么样处理聊天室的退出问题? 比较大的问题,请做过JAVA系统集成方案的朋友指点!!! applet,这个霸道的家伙!怎么解决阿? c++类的一个小问题 一个大家都很棘手的问题 关天构造函数的问题 学习《windows程序设计》中的问题? pb8里的autoscript怎么弹出那么慢 消息:c++与Visaul c是不是有一定的区别呢? 怎样通过程序获得当前可用的拨号网络列表?? 高手在哪里?-------> 如何在第一时间里获得屏幕的变化呢?及获得屏幕变化的那部分?各位大师,帮帮我。谢了。 请问想具备基本的网络和数据库管理方面的知识,看什么书好啊?请大家帮忙推荐一下,谢谢! 请教W2k下使用Access的问题 大家帮帮忙,sql菜鸟问题, 各位兄弟帮忙看一下 谁知道高程分数线?拜托告知一声! 如何判断是否做了超级连接? vc中怎样调用dos下的代参数的可执行文件???请教! 如何让TreeView控件的每一个子节点前有一个多选框! jbuilder4中的JGL的问题 如何构建一个数据仓库(高分求救) 怎么样在NT里看到我的电脑装了哪些硬件? 查找数据不连系变化 招聘WINDOWS界面程序员(可兼职) 哪里有介绍cricheditview的中文文章,最好是详细一点的,谢谢! 怎么样将NT里的Temp这个文件移到别的分区? 刚买的机器回来却出了问题(请教高手) 配平化学方程式具体算法? 最好说的通俗易懂. 谢谢啦 高一关于化学计量这类的题有没有什么总结的经验 化学差量计算天平左右分别加入等质量等浓度的H2SO4,左边加入氧化钠5.2g,欲使天平平衡要向右边加入氢氧化钠、碳酸钠、碳酸氢钠、金属钠、氯化钠各多少克?这题主要是题意的理解,是这些物 要所有化学方程式配平方法详解,还要举例的. 高一关于物质量的计算的化学题现有200mL H2SO4和NA2SO4 的混合溶液,其中硫酸的物质的量浓度为1mol/L,硫酸钠的物质的量浓度为0.5mol/L,若要配制硫酸和硫酸钠的物质的量浓度分别为2mol/L和0.2mol/L的 关于化学中的差量计算 食盐的成分 高一关于化学计量这类的题有没有什么总结的经验,我化学不好, 将一定质量的小苏打和铜混合物在空气中加热到质量不再变化时,发现加热前后质量不变,则原混合物铜的 质量分数.差量法我应该怎么找它们量的 关系呢?我每次拿到题 都不知道如何动笔.特 食盐的成分是氯化钠这句话是描述食盐的什么性质?是物理性质还是化学性质 下图是医院病人输液使用的一瓶质量分数为5%的葡萄糖(C6H12O6)注射液标签,请你认真观察标签上所列内容然后填写.①该溶液中含水多少克?②该溶液的密度约为多少?③该溶液的物质的量浓度为 化学问题(关于差量计算)加热碳酸镁和氧化镁的混合物m克,使之完全反应,得剩余物n克,则原混合物中氧化镁的质量分数是什么? 高一化学必修一物质的量习题8.4g氮气和9.6g某单质Rx所含的原子个数相同,且分子个数之比为3:2,则R的相对原子质量是——,x的值是——.小学生绕道,知道的来 海水中含多少盐 将CO和CO2的混合气体2.4g,通过足量的炽热的CuO后,得到CO2质量为3.2g,求原混合气体中CO和CO2的质量各为多少g? 练习题一、填空题 1.5molCO2的质量是______;在标准状况下所占的体积约为______;所含的分子数目约为______;所含氧原子的数目约为______.2.在400mL2mol/LH2SO4溶液中,溶质的质量是______.此溶液中 3 乙烷在空气中燃烧与在氧气中燃烧的现象,原因,,及危害 硫磺燃烧的化学方程式是什么急! 这里有个高一化学方程式,请配平,Na2SX+NaClO+NaOH=Na2SO4+NaCl+H2O注意:其中x为未知数!还有一个比较简单:K2Cr2O7+Fe3O4+H2SO4=Cr2(SO4)3+Fe2(SO4)3+K2SO4+H2O 在一密闭容器中盛有H2,O2,CL2组成的混合气体,通过电火花引爆后,三种气体恰好完全反应,经充分冷却后所得溶液的质量分数为33.4%.求原混合气体中H2,O2,CL2体积的简单整数比.(用小于10的整数表 硫黄在纯氧中燃烧的化学方程式 高一化学方程式配平的方法 高一简单化学计算求过程在4L容器中加入18g水蒸汽,28g一氧化碳,在t度c(>100)发生如下反应:CO+H2O(g)=CO2+H2,在最初5S内,一氧化碳的平均反应速率是0.02mol/(L.s)求5s未时,容器内二氧化碳的质量? 硫磺在空气中燃烧的文字表达式 什么植物里有盐的成分 铁粉和氧化铁粉末一共48.8g,加入700ML的稀硫酸中,恰好完全反应,得到氢气2.24L(标准状况),想反映后的溶液加入NH4SCN溶液不变红.1.求铁和氧化铁的质量2.原稀硫酸的物质的量的浓度 高一上化学计算题一块表面以部分氧化(氧化层为Na2O)的金属钠样品质量为5.22克,放入94.98克水中后得到气体的质量为0.2克求①该样品含氧化钠多少克?②所得浓液浓质的质量分数为多少? 高一化学方程式怎么配平 8.8g FeS固体置于200ml 2.0mol/L 的盐酸中,以制备H2S气体.完全反应后,若溶液中H2S的浓度为0.1mol/L,假定溶液体积不变,求:1.收集到的H2S气体的体积(S.T.P)2.溶液中Fe2+和H+的物质的量浓度我想问的只是 把密度为1.32/ml的硫酸溶液逐滴加入氯化钡溶液中,直到恰好完全沉淀为止.已知生成的溶液质量等于原氯化钡的质量,则硫酸的质量百分比浓度为--------,物质的量浓度为--------- HNCO+NO2→N2+CO2+H2O 高一简单化学计算,帅哥美女帮忙~现有某盐酸36.5克,其中HCl的质量分数为10%,盐酸密度为1.05g·cm-3.试计算:(2) 求Cl-的物质的量浓度是多少?(保留两位小数) 把70ml H2S和90ml O2(STP)混合在一定条件下点燃,使之反应.当反应完全后恢复到原来状况,可得SO2多少?(不考虑SO2在水中的溶解) 第一题:AgF+Cl2+H2O---3AgCl+AgClO3+4HF+O22:KMnO4+FeSO4+H2O---Fe(OH)3+MnO2+Fe2(SO4)+K2SO4纠正 是Fe2(SO4)3第一题没系数存在 打多了 大海的含盐率一定,海水和盐成什么比例?如果成比例,成什么比例 需求· · · 物质的量入门题!大师请过目纠错!顺便把空着的写下过程! 海水的准确含盐率希望能够得到正确答案 在海水晒盐的过程中发生了什么反应 氢氧化纳和碳酸铝的化学反应方程式 高一入门化学 物质的量的问题1.a mol 硫酸中含有b个氧原子,则阿伏伽德罗常数可表示为 A 4b分之a 摩 B 4a分之b 摩 C b分之a 摩 D a分之b 摩2.配置50摩的HCL 6摩的KCL 和24摩的K2SO4的营养液 ,若用KCL HCL 海水的含盐比例是多少? 化学高一必修1物质的量2摩尔NO和2摩尔NO2中所含的原子数相等吗?我想问一下:假如我用N1:N2=n1:n2的公式来算的话,2摩尔的NO和NO2质量就是相等的,但计算2摩尔NO和NO2时,NO中所含的原子为4摩尔,NO 物质的量 题若以μ表示水的摩尔体积,V表示在标准状态下水蒸气的摩尔体积,ρ为在标准状态下水蒸气的密度,NA为阿福加德罗常数,m、△分别表示每个水分子的质量和体积,下面四个关系式,其中 150吨海水中含盐4.5吨,求海水的含盐率. 高一必修一化学物质的量下列物质中氧原子数目与11.7gNa2O2中氧原子数一定相等的是A.6.27L CO B.6.6g CO2 C.8g SO3 D.9.6g H2SO4不是单选题 海水含盐比例是多少?急~~~~~~~ C2H6燃烧方程式 物质的量方面下列关于溶液物质的量浓度的说法正确的是( )A.把1mol/L NaCl溶于1L水中所得溶液的物质的量浓度为1mol/LB.把0.1mol/L投入100ml容量瓶中,加水至刻度线,充分震荡后,溶液浓度为1mol/LC. 海水的含盐量是多少? 化学计算2道 两种饱和一元醇的混合物11.5g,与足量的金属钠反应,可生成0.25g氢气,这两种醇分子组成上相差2个CH2原子团.(1)推导并写出两种醇的结构简式;(2)计算混合物中相对分子质量较小的醇 1.1.5molCO2的质量是多少?有8.8gCO2中含有多少个CO2分子?2.9.8gH2SO4中有多少个H2SO4分子?多少个氢原子?多少个硫原子?多少个氧原子?多少个SO42-离子?3.1.204×1023个H2O分子的物质的量是多少?质量是多少? 为什么海水里含有大量的盐?人们都听说过海水里含有大量盐吧,可为什么含有那么多盐呢? 乙烷不完全燃烧方程式如题,告诉我啊,各位化学天才~~ 急+追分!1.用30gNaOH溶于500ml水中,所得溶液的密度为1.02g/ml ,求该溶液的物质的量浓度.2.700体积的NH3(标况)溶于1体积的水中,所得溶液的密度为0.9g/ml,求所得溶液的物质的量浓度.3.将足量的金属锌 海水中为什么含大量的盐? 25.用19.2克铜与足量的浓硫酸共热,充分反应后:(1)反应中被还原的硫酸的物质的量的多少?(2)在标准状况下能产生多少升气体?26.在160 mL未知浓度的稀硫酸中,加入100 mL浓度为0.4 mol/L的 盐的成分是什么 已知,乙烷的化学式是C2H6,90克乙烷含碳元素多少克?多少克乙烷中含氢12克?乙烷和二氧化碳混合物中含氢元素的质量分数是11.2%,则该混合物中领导氧元素的质量分数? 海水中为什么含大量的盐?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn