SVG是否是基于Web的游戏的可行技术选择?[关闭]


13

我已经开始阅读有关可用于仅使用Javascript进行基于Web的游戏的Web技术的信息,但是我没有关于HTML5的SVG的反馈。是一个可行的选择?与Canvas,DOM和CSS Transformation等其他技术相比,它的效果是否良好?


Answers:


6

HTML5支持SVG。播放器所使用的浏览器是否支持它是另外一个故事。

根据您的需要,您应该检查RaphaelJS。Raphael通过在渲染IE时切换到VML为IE提供类似于SVG的支持。Raphael提供了许多功能,包括动画和Cufon字体支持。绝对值得一看。

由于SVG是DOM的一部分,因此将诸如“单击”和“悬停”之类的DOM事件附加到创建的SVG元素上非常简单。这可能会使SVG更适合HUD类型的显示器,而不是为sprite动画等。

但是,您可能需要进行大量测试才能确定SVG与画布的相对性能特征。

直接的DOM操作可能是最糟糕的。当您在DOM中进行更改时,浏览器的布局引擎将重新计算页面的布局以适应您的更改,这可能会破坏游戏的性能。如果您必须走这条路,则更喜欢CSS(尤其是CSS3特定的功能,例如转换和关键帧)。


采用 Snap.svg,它是同一作者的RaphaelJs的后继者,但没有对可笑的旧浏览器和Internet Explorer VML的混乱支持。更干净,更好,更现代,更快。
拉霍斯·梅萨罗斯

5

请访问此网站以查看SVG兼容性。现在,它充其量是狡猾的,除了展示柜的测试演示之外,我不推荐使用它。

不要指望人们使用最新最好的浏览器。

我认为使用SVG将是一个巨大的错误,当用户看到问题时,会使其避开。


5

使用Canvas会更好。IE均不支持它们,并且canvas是一种可行的基于Web的游戏技术。加上它具有不错的渲染速度,尤其是在Chrome中(根据早期的演示,显然在IE9中也是如此;我最近还没有尝试过)。如果您需要定位IE和/或移动平台的较早版本,请坚持使用普通的旧DOM,虽然DOM性能不佳,但对于简单的游戏(例如Pacman)仍然可以接受。


2

简短的回答是。

长答案,

我仍然在完全依赖IE6的环境中工作,并使用了这个很棒的图表库。(对于IE6-IE8,它使用VML)我绝对喜欢画布,并且更喜欢用js编写游戏。因此,如果您想用svg制作游戏,可以说是做游戏,那么其他游戏也已使用该游戏创建(请参见Raphael示例)。无论您将仍然使用JS来执行此操作,因此,如果要过渡到画布,它都不会那么痛苦。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.