本文概述了虽然问题是“Javascript 慢吗?” 这是一个非常主观的问题,并且由于它运行在客户端的浏览器上,因此这一切都取决于运行 javascript 代码的硬件和软件。 还有,发生了什么事? 现代浏览器拥有我们在 5 或 10 年前无法想象的功能。 通过利用 JavaScript API WebGL,他们可以完全渲染复杂的 2D 和 3D 图形,而无需依赖第三方浏览器插件。 我们只是想证明Javascript可以用于在线游戏开发! 不仅仅是2D游戏,还有3D游戏。 从纯 JavaScript 开始是获得在线游戏开发扎实知识的最佳方式。
然而,如果我们可以的话,为什么要使用用 Java 编写的游戏从头开始构建游戏(设计控件、资产操作、专注于优化以及许多无穷无尽的问题,这些问题可能需要您自己花费大量时间来解决)加速进程引擎? 我们认为在这篇文章中,我们将介绍用于网页游戏开发的最佳Javascript游戏引擎。
15.BackboneGameEngine【15款最佳开源JavaScript游戏引擎推荐】Github
文章图片
BackboneGameEngine 是一个基于 Backbone 的基本 HTML5Canvas 游戏引擎。 专为 2D 平台游戏而设计,并针对联通设备进行了优化。 BackboneGameEngine 被编译为在 CocoonJSCanvas+ 内运行,因此您可以将 HTML5 游戏制作成 iOS 或 Android 上的本机应用程序。
14.DarlingJSGithub
文章图片
DarlingJS 是一个基于组件和实体的 JavaScript 游戏引擎,具有依赖注入和模块化架构。 Darling.js 不花一分钱。 代码根据简化 BSD 许可证获得许可。 你只需要在源代码中注明你使用了Darling.js即可。 如果您让我知道您在项目中使用了该引擎,我将非常高兴。
Darling.js 中的依赖注入允许您以声明方式描述应用程序的连接方式。 而且,任何不满足您需求的组件都可以轻松更换。 将功能和数据分离成基本上彼此独立的单独系统和组件。 因此,使用组合而不是继承。 还将组件和系统分组到可以插入游戏应用程序的模块中。
13.JawsJS Github
文章图片
Jaws 是一个由 HTML5 提供支持的 2D 游戏库。 它最初只是一个画布,现在也通过相同的 API 支持普通的基于 DOM 的精灵。
Jaws 特别适合“经典”侧/下滚动游戏(基于或不基于壁纸),其中有大量由精灵板动画的精灵。 Jaws 带有基本的矩形与矩形/圆与圆碰撞检查,在大多数情况下都可以正常工作。 如果您有很多精灵(例如,像炮弹这样的地狱炸弹),您可能需要使用像 Box2D 这样的 Physicallib 或像四叉树这样的空间哈希来提高速率。 脸部使用画布使像素完美的碰撞和蠕虫状地形相对容易开发。 如果您的游戏的 GUI 非常困难,您可能需要基于纯 HTML 元素而不是画布精灵来创建游戏。
12.Enchant.js Github
文章图片
一个简单的 JavaScript 框架,用于创建游戏和应用程序:
11.昆图斯Github
文章图片
Quintus是一款简单易学、易用的JavaScriptHTML5游戏引擎,适用于联通设备、台式机等设备。
Quintus 引擎是一个 HTML5 游戏引擎,设计为模块化、轻量级和简单的 JavaScript 友好语法。 作为尝试将标准 OOP 游戏引擎结构扩展到 HTML5 JavaScript 引擎的替代方案,Quintus 借鉴了 jQuery 的一些线索,并提供了插件、风暴和选择器语法。 除了传统的继承之外,Quintus 还提供了灵活的组件模型,而不是仅使用单一继承的深层模型,从而更容易重用功能以及在游戏和对象之间共享功能。
10.PandaEngineGithub|示例
文章图片
PandaEngine是一款免费的HTML5游戏引擎,具有Canvas和WebGL渲染功能,可在联通设备和桌面设备上使用。 它使用 Pixi.js 进行超快速渲染。
使用PandaEngine,您可以跟踪GoogleAnalytics(分析)游戏中的风暴以及其他有趣的功能。
9.狡猾的Github
文章图片
Crafty 是一个 JavaScript 游戏库,可帮助您以结构化方式创建游戏,具有以下功能:
其他产品:
8.Stage.jsGithub|案例
文章图片
Stage.js 是一个用于跨平台游戏开发的 2DHTML5 JavaScript 库,它轻量、快速且开源。
Stage.js 提供了一个类似 DOM 的树数据模型来组成您的应用程序,并在内部管理应用程序的渲染周期和绘图。 它还处理鼠标和触摸事件并将它们分发到目标树节点。
Stage.js 应用程序由节点树组成。 每个节点都固定(变换)在其父节点上,并具有零个、一个或多个图像纹理。 每个渲染周期都包含缩放和绘制树节点。 选中后,节点会自行调整到最新更新,然后在绘制草图时,每个节点都会根据其固定来变换并绘制其纹理。 渲染将保持并暂停而不进行修改。
7.qiciengineGithub|案例
文章图片
Qiciengine 是一个免费的 JavaScript 游戏引擎库,其中包含用于制作 HTML5 游戏的全面的基于 Web 的工具集。 QICIEngine 基于 Phaser,一个免费开源的 HTML5 游戏框架,它使用 Pixi.js 在桌面和联通 Web 浏览器上进行 WebGL 和 Canvas 渲染。
使用QICIEngine,创建HTML5游戏就像开发网站一样简单,使用您最喜欢的代码编辑器,使用您最喜欢的网络浏览器,借助JavaScript语言和所有最好的网络开发工具。 QICIEngine 负责处理底层技术的复杂性,因此您只需专注于最重要的事情 - 制作游戏!
QICIEngine由三部分组成:QICICore、QICIWidget和QICIEditor:
6.Kiwi.jsGithub|示例
文章图片
Kiwi.js 是一个有趣且友好的开源 HTML5 游戏引擎。 有人称其为 HTML5 游戏引擎中的 WordPress。
Kiwi.js是世界上最人性化的开源HTML5游戏框架,可用于创建联通和桌面HTML5浏览器游戏。 他们的重点是极快的 WebGL 渲染和用于制作专业品质严肃游戏的补充工具。 他们使用 CocoonJS 来发布游戏和创建应用程序。
您的游戏可以同时针对画布和 WebGL。 对于较旧的浏览器和大多数联通浏览器,请使用 Canvas。 将 WebGL 用于最新的浏览器,并将其与 Cocoon.js 结合起来构建快速的本机连接应用程序。 您可以使用 CocoonJS 和 ChromeWebStore 等平台轻松高效地为 iOS、Android 和 Chrome 应用程序创建游戏。
5.MelonJSGithub|示例
文章图片
melonJS 是一个轻量级但功能强大的 HTML5 框架,从头开始设计,旨在提供真正的无插件“一次编写,随处运行”的面向游戏的库。 melonJS 是一个开源项目,并得到了爱好者社区的支持。 MelonJS 支持当前功能:
系统和位图字体 键盘和触摸设备支持(带键盘模拟) 对 CocoonJS 和 Ejecta 的外部支持 异步消息支持 (minPubSub),包括基本 GUI 元素 可定制加载程序 4.Pixi.jsGithub|示例
文章图片
Pixi.js 是一个超快的 HTML52D 渲染引擎,它使用带有画布后备的 webGL。 该项目的目标是提供一个可在所有设备上运行的快速且轻量级的 2D 库。 Pixi 渲染器使每个人都可以使用硬件加速的强大功能,而无需事先了解 WebGL。 而且,速度很快。 很快。
Pixi.js 具有完整的 WebGL 支持,并在需要时无缝回退到 HTML5 画布。 作为一个框架,Pixi.js 是创作交互式内容的优秀工具,尤其是在近年来 Adobe Flash 退出的情况下。 将其用于图形丰富的交互式网站、应用程序和 HTML5 游戏。 开箱即用的跨平台兼容性和高贵的降级意味着您的工作量会减少,并且会带来更多乐趣! 如果您想相对快速地创建美丽而奢华的体验,而不需要深入研究密集的低级代码,也没有浏览器不一致的麻烦,请在您的下一个项目中添加一些 Pixi.js 魔力。
3. PlayCanvasWebGL游戏引擎Github | 反例
文章图片
PlayCanvas 是一个开源游戏引擎。 它使用 HTML5 和 WebGL 在所有现代浏览器中运行游戏和其他交互式 3D 内容,无需插件。
碰撞与化学音频资源加载实体/组件系统脚本系统输入2.Babylon.jsGithub|说明
文章图片
Babylon.js 是一个开源 JavaScript 框架,允许您借助 WebGL、HTML5 和 WebAudio 在浏览器中构建和渲染 3D 游戏。 事实上,在原始 WebGL 中绘制简单的 3D 对象需要您处理大量 JavaScript 代码,而 Babylon.js 允许您以最少的代码量和极低的复杂性执行相同的操作。
由于其强大的功能,Babylon.js 可以被称为“另一个 Three.js”,它允许您在浏览器中创建几乎任何内容,从完全交互式的 3D 游戏到动画徽标。 虽然这个 JavaScript 框架目前还处于早期阶段源码编辑器手游,但它为开发人员提供了功能丰富的 WebGL 创作的坚实基础源码编辑器手游,并且几乎可以在任何地方使用。
1.Phaser.jsGithub|示例
文章图片
不过,等一下,Phaser.js 比 Babylon.js 更好,你在开玩笑吧? 你知道人们怎么说,一个人的肉体是另一个人的毒药。 您可能不想开始使用 WebGL 等先进技术开发网页游戏,因为您很快就会失望,因为创建游戏并不容易。 在那里,Phaser.js 可能是您开始游戏开发时的首选,因为它非常易于使用,它们提供了很多示例,但您不需要庞大的代码库来创建您的第一个游戏。
Phaser 是一个有趣、免费、快速的 2D 游戏框架,用于为桌面和中国联通网络浏览器制作 HTML5 游戏,支持 Canvas 和 WebGL 渲染。 Phaser 在内部使用 Canvas 和 WebGL 渲染器,并且可以根据浏览器支持在它们之间手动交换。 这使得跨桌面和连接设备的渲染速度快如闪电。 Phaser 使用并贡献了优秀的 Pixi.js 渲染库。
Phaser 已被用来创建数百款游戏,每月有数百万次的播放量。 而版本2是迄今为止最稳定、无bug的版本。 这个问题很快得到了解决,我们始终处于不断变化的浏览器格局的最前沿。
如果您认为我们忘记了另一个用 Java 编写的出色游戏引擎,请在评论框中告诉我们并与社区分享。