我目前正在研究在新的 HTML 5 应用程序中使用画布的选项,并且想知道 HTML 画布 JavaScript 库和框架的当前状态是什么?
特别是,是否有支持游戏开发所需的框架——复杂动画、管理场景图、处理事件和用户交互?
也愿意考虑商业和开源产品。
我目前正在研究在新的 HTML 5 应用程序中使用画布的选项,并且想知道 HTML 画布 JavaScript 库和框架的当前状态是什么?
特别是,是否有支持游戏开发所需的框架——复杂动画、管理场景图、处理事件和用户交互?
也愿意考虑商业和开源产品。
我一直在研究fabric.js——一个画布库来帮助解决这个问题——通过处理事件和用户交互来操作画布上的对象。它尚未发布,但请看一个简单的预览演示。
您还可以在最初为其创建的设计编辑器中看到它的运行情况。
编辑:该项目现在在 github 上可用(在 MIT 许可下开源)
要开始,请查看:
Fabric 与其他 Javascript 画布库相比如何?这是一个比较表。
我很惊讶没有人提到WebGL和基于它的框架。我认为它在 HTML 画布 / javascript 上的 3D GPU 加速图形和复杂动画的最先进技术列表中名列前茅。
WebGL 是一种跨平台、免版税的 Web 标准,用于基于 OpenGL ES 2.0 的低级 3D 图形 API,通过 HTML5 Canvas 元素作为文档对象模型接口公开。...
WebGL 为网络带来了无插件的 3D,直接在浏览器中实现。主要的浏览器供应商 Apple (Safari)、Google (Chrome)、Mozilla (Firefox) 和 Opera (Opera) 都是 WebGL 工作组的成员。
WebGL 对 GPU 加速图形的支持非常可靠。查看这些 GLSL着色器 演示。:-) 并将ChemDoodle作为用户交互的示例。
我一直在使用 Google 的O3D框架开发一个应用程序,该框架管理场景图,并使用 WebGL 进行渲染(它曾经使用自己的插件)。O3D 是一项正在进行的工作,它的文档不是完全最新的,但它正在积极开发中,并且有一些很好的演示。3D 泳池可能最适合您。Google 开发人员对讨论组中的问题非常敏感。
还有许多其他框架构建在 WebGL 之上;看到这里。提到游戏开发和场景图的有 Copperlicht、SceneJS、X3DOM。
WebGL 在多个浏览器的最新开发版本中运行,但不能在 IE 中运行。我一直在使用 Firefox(“Minefield”)和 Chromium,效果很好。您将需要其中之一来运行上述演示。
但是,如果您的要求是它必须没有超出 HTML 5 canvas / js 的依赖项,那么 WebGL 可能不是正确的选择。它看起来并不像IE浏览器将支持它很快。
更新:在经受了很多阻力之后,MS决定在 IE 11 中支持 WebGL。
三.js,由先生。doob是一款出色的 JavaScript 3d 引擎,包括场景图(软件和 WebGL/硬件加速版本)、阴影、粒子、蒙皮动画(我认为)和灯光效果。一看就知道是个超有才的人。
我应该补充一点,您将需要最新的 Google Chrome 或同等版本才能查看大部分演示,我最喜欢的一个是:http : //mrdoob.github.com/three.js/examples/webgl_materials_cars.html
KineticJS 是一个新兴的库,它吹嘘在画布上创建和动画单独的“层”以获得高性能。
CAKE.js 不再维护,而是一个相当强大的框架 - http://code.google.com/p/cakejs/
演示在这里 - http://glimr.rubyforge.org/cake/canvas.html , http://glimr.rubyforge.org/cake/missile_fleet.html