我打算建立一个让一切都记在心里的游戏。我知道HTML,CSS和Javascript很好,它会给我跨浏览器支持,所以肯定会使用它。
我需要显示一个div(矩形),然后根据某些动作将其设置为另一个形状,您可以在此picture
中更好地看到我可以为DIV元素设置动画,否则我需要使用SVG或Canvas?
答案 0 :(得分:1)
为了在浏览器中绘制任意形状,我建议使用Canvas或SVG。
我会避免尝试使用HTML <div>
元素和CSS“绘图”。这是可能的,但这是一个充其量的黑客,可能会变得非常混乱,我当然不想用这种技术编写游戏。
所以你最好的选择绝对是SVG或Canvas。
SVG vs Canvas的选择同样取决于您希望支持的平台/浏览器,因为它取决于两种技术的属性。
显然你已经知道SVG(矢量图形)和Canvas(像素图形)之间的主要区别,但两者也有不同的浏览器支持,这一点很重要。
由于您提供的信息有限,我会说SVG看起来最适合您正在做的事情。但是,Android浏览器尚不支持SVG,因此如果您希望自己的游戏在移动设备上运行,则需要考虑这一点。这可能意味着您需要使用Canvas。
如果您坚持使用桌面,所有现代浏览器都支持Canvas和SVG。显然IE8和更早版本都缺少这两种,但IE确实支持一种称为VML的竞争格式,这是一种类似于SVG的基于XML的矢量语言。
如果你想支持IE8(很可能你不支持!),有IE的javascript库可以使用IE的VML引擎渲染Canvas和SVG图形。显然这对SVG非常有效,因为这两种语言非常相似。我听说过关于画布转换的更多混合报道,但你可能想尝试一下。请记住,IE8的Javascript引擎速度很慢,因此基于javascript的图形格式转换可能无法在游戏环境中提供足够的性能。
希望有所帮助。