我是否需要每帧重新绘制整个画布?

时间:2013-10-27 19:32:46

标签: javascript canvas html5-canvas game-physics

例如,如果我有一个普通的画布,地面和太阳/月亮,然后每一帧我重新绘制角色(所以它可以使用箭头键移动)我是否需要重新绘制所有内容,或者我可以保持背景静态并仅移动(通过删除/重新绘制)角色精灵/图像?

2 个答案:

答案 0 :(得分:1)

您可以将两个<canvas>元素叠加在一起。否则,是的,您需要重新绘制已更改的整个区域。

答案 1 :(得分:1)

canvas标签中没有不同的图层,因此为了仅删除图像的某个部分,您需要在其上绘制一些内容。如果你背后有图像背景,这可能会变得复杂。

在您的情况下,我肯定会使用setInterval以特定汇率重绘它,或者使用多个canvas元素来保持图层分开。