我正在使用canvas在JavaScript中制作一个简单的游戏。 我制作的一个类代表一个三角形,它的绘图函数接收画布上下文并填充三角形:
draw (ctx)
{
ctx.fillStyle = "#FFFF00";
ctx.beginPath ();
ctx.moveTo (this.x, this.y);
ctx.lineTo (this.x, this.y + this.height);
if (this.x == 0)
ctx.lineTo (this.x + this.width, this.y + this.height / 2);
else
ctx.lineTo (this.x - this.width, this.y + this.height / 2);
ctx.lineTo (this.x, this.y);
ctx.closePath();
ctx.fill();
}
问题是,在某些时候,画布应该重新着色
ctx.fillStyle = "#000000";
ctx.fillRect (0, 0, cnvs.width, cnvs.height);
但是当它发生时,三角形不会消失。 我该怎么办?
答案 0 :(得分:0)
如果你想清除画布,你可以这样做(它也会清除你的转换)。
canvas.width += 0; // canvas resizes to the same size
另一种方式
context.clearRect(x, y, width, height);
清除后,您可以重新着色画布。