HTML5画布和纯Javascript/GWT的游戏性能

3

我希望写一个动画游戏,需要一些类似于老虎机中卡片/图像滚动的动画效果。我在思考是否主要使用纯GWT / JavaScript来运行动画,还是使用HTML5 Canvas或HTML5动画实现。

我知道如果使用HTML5 Canvas,可能会做出更花哨的动画效果或图形,但因为有几个“动画”同时运行(例如在五列老虎机中滚动许多图像),所以我也很关心性能。在这种情况下,我认为性能最重要。

我听说在Canvas中绘制物体的成本很高。因此,我不确定保持在Canvas中滚动图像是否也是昂贵的。

  1. 你觉得我应该使用哪种技术来编写老虎机游戏?HTML5-Canvas,纯JS/GWT动画,还是HTML5动画?

  2. 我需要将一些音频用于游戏,但我对此还很陌生,不知道可以使用哪些库或技术。请给我一些建议。

谢谢。


看看PlayN。我自己没有用过它,但每当谈到HTML5游戏时,它总是出现。 - Flo
1个回答

1

如果你有很多图形动画,Canvas 2D 将是一个不错的选择。如果你处理矢量形状和简单动画,SVG 可能是一个选项。我不会选择 GWT,因为 Java 的抽象层可能会妨碍你使用 HTML/CSS/JS 的全部功能。

如果你选择纯 JS 和 Canvas,请确保使用基本游戏库。我使用了 jawsjs,适用于简单的游戏。如果你需要参考,请查看并观察以下基于 Canvas 2D 的游戏性能。如果你需要它的代码作为参考,请告诉我。

http://99challenge.com/_index.html

在音频方面,存在一些挑战。Firefox的行为与所有其他浏览器不同,并且具有相当不稳定的音频支持。您可能需要寻找Flash支持,以使音频在FF上正常工作。


1
还可以观看这个视频,它描述了来自Google的HTML5游戏开发中的挑战:http://www.infoq.com/presentations/Angry-Birds-on-HTML5 - Hasith
1
我认为GWT并不是一个糟糕的选择,因为它并没有真正隐藏对HTML/JS/CSS的访问。有时候你可能不需要任何抽象层,这种情况下它就不是那么有用了,但是它绝对可以帮助JS优化、调试和跨浏览器兼容性。事实上,难道《愤怒的小鸟》不是使用GWT制作的吗? - helios

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接