1

我正在使用and创建HTML 5游戏。<canvas>JavaScript

在我的画布中,我正在加载高分辨率图像。每分钟都会有一些对象出现在这个画布上。如果用户点击它。它将从屏幕上移除。

我的问题:

我正在使用clearRect()清除画布的功能。并再次重新绘制所有图像。是否有必要每次我重新绘制整个内容?是否有任何选项可以重新绘制该特定区域?

当我使用clearRect()清除该对象的确切区域时。背景图像也被删除。有没有办法保存背景图像的特定部分并用这个保存的图像绘制该部分?(因为我的对象在画布上移动,我需要动态检索图像数据)

我是 WebTechnology 和 HTML 5 的新手。所以请帮助我。提前致谢

4

2 回答 2

2

将画布想象成一幅画,一旦应用了内容“层”,就不可能删除它。您可以使用 指定要清除的画布部分clearRect(x,y,height,width),但您始终需要重新绘制已删除内容的背景。该drawImage()函数接受参数以在特定位置绘制图像的特定部分,但可能更符合您希望使用的内容是 imageData。

我建议你在Mozilla Dev Network: Canvas上阅读一下画布

于 2013-06-04T14:12:21.763 回答
1

有一些画布层库增加了对层的支持:

于 2013-06-04T14:50:25.350 回答