我目前正在研究在新的HTML 5应用程序中使用画布的选项,并且想知道HTML canvas JavaScript库和框架的当前最新状态是什么?
特别是,是否存在支持游戏开发所需的事物的框架-复杂的动画,管理场景图,处理事件和用户交互?
也愿意考虑商业和开源产品。
我目前正在研究在新的HTML 5应用程序中使用画布的选项,并且想知道HTML canvas JavaScript库和框架的当前最新状态是什么?
特别是,是否存在支持游戏开发所需的事物的框架-复杂的动画,管理场景图,处理事件和用户交互?
也愿意考虑商业和开源产品。
Answers:
我一直在研究fabric.js(一个画布库来帮助您解决这一问题),通过处理事件和用户交互来操纵画布上的对象。它尚未发布,但请看一个简单的预览演示。
您还可以在最初为其创建的设计编辑器中查看它的运行情况。
编辑:该项目现在可以在github上使用(在MIT许可证下开源)
首先,请查看:
Fabric与其他Javascript画布库相比如何?这是一个比较表。
令我惊讶的是,没有人提到WebGL和基于它的框架。对于3D GPU加速的图形和HTML canvas / javascript上的复杂动画,我认为它是最先进的。
WebGL是基于OpenGL ES 2.0的低级3D图形API的跨平台,免版税的Web标准,通过HTML5 Canvas元素作为文档对象模型接口公开。...
WebGL将无插件的3D引入网络,并直接在浏览器中实现。主要的浏览器供应商Apple(Safari),Google(Chrome),Mozilla(Firefox)和Opera(Opera)是WebGL工作组的成员。
WebGL对GPU加速图形的支持非常可靠。查看这些GLSL 着色器 演示。:-)并以ChemDoodle作为用户交互的示例。
我一直在使用Google的O3D框架开发一个应用程序,该框架管理场景图,并使用WebGL进行渲染(它曾经使用自己的插件)。O3D尚在开发中,其文档尚未完全更新,但仍处于积极开发中,并且有一些不错的演示。3D Pool可能最适合您。Google开发人员非常乐意讨论组中的问题。
还有许多其他基于WebGL构建的框架。看这里。提到游戏开发和场景图的人包括Copperlicht,SceneJS和X3DOM。
WebGL在几种浏览器的最新开发版本中运行,但不是IE。我一直在使用Firefox(“雷区”)和Chromium,效果很好。您将需要其中之一来运行以上演示。
但是,如果您的要求是除HTML 5 canvas / js之外必须没有依赖项,WebGL可能不是正确的选择。它看起来并不像IE浏览器将支持它很快。
更新:在产生了很大的阻力之后,MS 决定在IE 11中支持WebGL。
three.js所,由先生。doob是一款出色的javascript 3D引擎,其中包括Scenegraph(软件和WebGL /硬件加速版本),阴影,粒子,蒙皮动画(我认为)和照明效果。检查一下,他是一个非常有才华的家伙。
我应该补充一点,您将需要最新的Google Chrome浏览器或等效的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
看一下processing.js框架。另外,即将发布的mootools 2.0版具有与画布配合使用的艺术作品
有一个有趣的库,旨在改善使用canvas.js的画布API的一些基础知识,该API被Javascript:The Definitive Guide的作者David Flanagan所使用。
而且,它还很年轻,但是还不错,它(复杂的动画,管理场景图,处理事件和用户交互)-jCanvaScript。可能是这样,除了“管理场景图”。
与bHive一起制作图形和移动站点标题的过程似乎令人印象深刻且功能强大,与其他正在开发的项目不同。Adobe Edge也值得一提,尽管严格来说不适合使用Canvas。
和
Aves Engine真的很棒:http://www.dextrose.com/en/projects/aves-engine
另外,秋叶原似乎很好:http://www.kesiev.com/akihabara/
如果您想使用Javascript,Dojo是一个不错的选择。它具有非常强大的紧凑型跨平台(SVG,VML,Canvas,Silverlight)矢量图形API。您可以在dojo.gfx和dojox.gfx中找到它。
我们使用它来构建一个交互式的物理导师,允许学生绘制矢量,椭圆等(甚至附加图像)并对它们执行各种转换。您可以在http://gideon.eas.asu.edu/web-UI/login.html上看到我们所做的-只需使用任何用户名登录即可。
我看了一下fabric.js,而dojox.drawing做了很多相同的事情。如果您查看工具箱中的测试(一旦获得了它的dojox / drawing / tests /),就会发现从矢量图形到图像再到以编程方式创建阴影的所有示例。
我刚刚发布了针对具有AS3 / Flash开发背景的人员的新图形和补间库的第一版。虽然我的lib尚不支持复杂的绘制路径或图形,但我希望它能帮助人们以熟悉的方式快速绘制和设置基本图元的动画。
欢迎提供反馈和意见。 http://www.quietless.com/kitchen/introducing-js3/