2013-03-19 59 views
0

我想要做一些真正的小游戏。 It is here.Canvas vs HTML DOM?

用户:洪扎 密码:洪扎

我不知道我是否应该用帆布或HTML DOM。当我改变一个部分,放大并移动时,我只想重新绘制大约20张图片(10个蓝色块和10个灰色块)。可能会有一个感人的人。你有什么意见?我应该使用canvas还是HTML DOM?

+0

我找到了此链接。我认为这是你需要的。 [阅读](http://stackoverflow.com/a/13628035/2187426) – Lorin 2013-03-19 16:56:53

+0

谢谢你的答案 – 2013-03-19 17:00:12

回答

0

如果你可以使用普通的旧DOM元素为游戏做所有必要的动画,那么我就足够了,但是对于我建议使用画布的任何一种复杂的动画。

你所描述的东西似乎完全适用于DOM,假设你的人移动不会包含非连续的动画。您可以在不使用画布的情况下创建相对复杂的动画,而只是在画布上做更多的工作。

如果您正在学习新事物,请选择画布,因为它将在未来为您提供更好的服务。

+0

有不需额外是任何复杂的动画...谢谢你的回答 – 2013-03-19 17:22:49

+0

我相信sweetamylase是更好的答案,因为它包含有关性能权衡的其他信息。即使您选择使用DOM方法进行游戏,他发布的链接也很有用。 – cernunnos 2013-03-19 17:25:28

1

手法(移动的东西,动画,改变颜色等)在DOM将导致浏览器重绘回流的元素,这是一个耗费资源的处理。尤其是对于有许多不断触发浏览器进行处理的持续视觉更新的情况,导致低端系统上的用户感受到缓慢而迟缓的体验。

帆布,而另一方面将不会这么大,因为<canvas>元素将是相同的大小,所以没有reflow和任何动画等将只有<canvas>内引起repaint

请参阅此处以获取更详尽的说明:http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/

+0

那里不会有很多不断的视觉更新 - 当我改变部分时,我只会更新20张图片,当用户按下箭头键时移动人物,我会做内容缩放......我还在犹豫... – 2013-03-19 18:23:32