我想要做一些真正的小游戏。 It is here.Canvas vs HTML DOM?
用户:洪扎 密码:洪扎
我不知道我是否应该用帆布或HTML DOM。当我改变一个部分,放大并移动时,我只想重新绘制大约20张图片(10个蓝色块和10个灰色块)。可能会有一个感人的人。你有什么意见?我应该使用canvas还是HTML DOM?
我想要做一些真正的小游戏。 It is here.Canvas vs HTML DOM?
用户:洪扎 密码:洪扎
我不知道我是否应该用帆布或HTML DOM。当我改变一个部分,放大并移动时,我只想重新绘制大约20张图片(10个蓝色块和10个灰色块)。可能会有一个感人的人。你有什么意见?我应该使用canvas还是HTML DOM?
如果你可以使用普通的旧DOM元素为游戏做所有必要的动画,那么我就足够了,但是对于我建议使用画布的任何一种复杂的动画。
你所描述的东西似乎完全适用于DOM,假设你的人移动不会包含非连续的动画。您可以在不使用画布的情况下创建相对复杂的动画,而只是在画布上做更多的工作。
如果您正在学习新事物,请选择画布,因为它将在未来为您提供更好的服务。
有不需额外是任何复杂的动画...谢谢你的回答 – 2013-03-19 17:22:49
我相信sweetamylase是更好的答案,因为它包含有关性能权衡的其他信息。即使您选择使用DOM方法进行游戏,他发布的链接也很有用。 – cernunnos 2013-03-19 17:25:28
手法(移动的东西,动画,改变颜色等)在DOM将导致浏览器重绘和回流的元素,这是一个耗费资源的处理。尤其是对于有许多不断触发浏览器进行处理的持续视觉更新的情况,导致低端系统上的用户感受到缓慢而迟缓的体验。
帆布,而另一方面将不会这么大,因为<canvas>
元素将是相同的大小,所以没有reflow
和任何动画等将只有<canvas>
内引起repaint
。
请参阅此处以获取更详尽的说明:http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/
那里不会有很多不断的视觉更新 - 当我改变部分时,我只会更新20张图片,当用户按下箭头键时移动人物,我会做内容缩放......我还在犹豫... – 2013-03-19 18:23:32
我找到了此链接。我认为这是你需要的。 [阅读](http://stackoverflow.com/a/13628035/2187426) – Lorin 2013-03-19 16:56:53
谢谢你的答案 – 2013-03-19 17:00:12