2011-04-03 172 views
6

我在我的职业生涯作为一名开发人员使用了一些JavaScript框架。即jQuery,moo工具和地图集。但我所有的经验都围绕专业的企业网站开发。我目前正在开发一款游戏,其UI将非常丰富。我正在考虑完全在JavaScript和HTML中实现UI。所以现在我正在研究我在这方面的选择。有没有我可以使用的JavaScript框架可以帮助我创建丰富的游戏用户界面?JavaScript框架的游戏UI

具体来说,我需要角色动画和效果。如果需要的话,这可以是逐帧的,甚至可以像许多Flash动画一样使用。理想的框架可以建立一些功能,以获取艺术资产,并可能包含一个XML有效载荷,在解释时将描述艺术资产如何与相互关联。对于逐帧来说,这将是我告诉它图像进入的顺序和切换帧速度有多快的一种方式。对于铰链型框架这将是我告诉它在哪里我定位的胳膊,腿,其中关节,并允许将特定关节的动作到动画的方式。最后,理想的框架可以支持纸娃娃的功能,例如,我可以使用分层功能将一副眼镜放在角色上,或者使用不同的衣服或头发颜色。

我意识到,最有可能我上面描述的理想是不可用,但如果有东西让我更接近从jQuery的或其他类似的框架我的理想,将帮助我在我的决定。

感谢

回答

7

你要求的东西太多具体位置。当谈到渲染游戏画面你有3个主流非插件选项

帆布

画布是一个基于光栅显示器。你可以像easel.js画布或重抽象像The render engine上使用窄抽象。现在这些可能没有你想要的细粒度特征。

他们这样做的原因是没有性能。高性能的代码和高层次的抽象并不齐头并进。你会发现,对轻量级的抽象使用重度抽象会带来严重的性能成本。

SVG

您可以使用SVG,这使得基于矢量图形。 SVG的一个很好的抽象库是rapheal。再一次,由于性能成本的原因,没有高级抽象库或框架来满足您的需求。

DOM

您还可以通过简单地使用DOM操作渲染。任何类似jQuery或MooTools的库都会这样做。如果您想要使用HTML UI元素而不是自定义生成的元素,则可以使用一些重磅UI工具包,如Sencha,SproutCoreCappucino

没有任何通用的东西和主流,让你的生活变得简单。你可以看看一些javacript游戏引擎,如crafty

+0

如果你穿着我的鞋子,你有更喜欢的路线吗?帆布与大教堂vs. SVG。我想我基本知道SVG是什么,它可以假定它支持.svg文件并使用矢量形状创建图形,而DOM是非常直接的,因为这是我在整个职业生涯中使用的,但Canvas与SVG和DOM有什么不同?我知道Canvas是HTML5中的新标签,但我认为它的行为与DIV不同。 – omatase 2011-04-03 20:38:11

+0

@omatase我个人喜欢rapheal。主要是因为你在SVG上绘制的所有东西都是一个对象,可以独立处理。即你可以附加事件处理程序。我为我的游戏使用MVC模式,所以我喜欢为我的游戏实体创建一个模型并附加一个视图。该视图只是一个SVG对象。 – Raynos 2011-04-03 20:56:13

+0

@omatase画布是一个光栅显示。你可以渲染它。它也支持3D加速。它不同于div,因为你可以直接在它上面绘图。这里有一个[教程](https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas) – Raynos 2011-04-03 20:56:57