在 canvas 上绘制 2 个不同颜色的形状
Drawing 2 shapes in different colors on canvas
我有一个函数 draw
,我尝试在 canvas 上绘制一个黑色圆圈和一个黄色矩形:
function draw() {
context.clearRect(0, 0, window.innerWidth, window.innerHeight);
context.fillStyle = '000000';
context.beginPath();
context.arc(ballx, bally, radius, 0, Math.PI * 2);
context.fill();
context.fillStyle = '#F7CA18';
context.fillRect(0, 0, 50, 5);
}
该函数每 40 毫秒以 setInterval
调用一次(稍后我需要它来创建特定的圆形动画)。由于某种原因,两个形状都被绘制成黄色。
我尝试在 context.fill()
之后关闭路径并在矩形之前再次重新打开它,在 fillRect
之后尝试再次定义黑色填充,尝试了更多的东西,但没有成功。
知道如何解决吗?
你有一个黑色的错字(漏掉了“#”):
context.fillStyle = '#000000';
工作示例:
function draw(context, ballx, bally, radius) {
context.clearRect(0, 0, window.innerWidth, window.innerHeight);
context.fillStyle = '#000000';
context.beginPath();
context.arc(ballx, bally, radius, 0, Math.PI * 2);
context.fill();
context.fillStyle = '#F7CA18';
context.fillRect(0, 0, 50, 5);
}
var i = 50;
setInterval(function() {
draw(document.getElementById('canvas').getContext('2d'), 50 + i++, 50, 50);
}, 40);
<canvas id="canvas" />
我有一个函数 draw
,我尝试在 canvas 上绘制一个黑色圆圈和一个黄色矩形:
function draw() {
context.clearRect(0, 0, window.innerWidth, window.innerHeight);
context.fillStyle = '000000';
context.beginPath();
context.arc(ballx, bally, radius, 0, Math.PI * 2);
context.fill();
context.fillStyle = '#F7CA18';
context.fillRect(0, 0, 50, 5);
}
该函数每 40 毫秒以 setInterval
调用一次(稍后我需要它来创建特定的圆形动画)。由于某种原因,两个形状都被绘制成黄色。
我尝试在 context.fill()
之后关闭路径并在矩形之前再次重新打开它,在 fillRect
之后尝试再次定义黑色填充,尝试了更多的东西,但没有成功。
知道如何解决吗?
你有一个黑色的错字(漏掉了“#”):
context.fillStyle = '#000000';
工作示例:
function draw(context, ballx, bally, radius) {
context.clearRect(0, 0, window.innerWidth, window.innerHeight);
context.fillStyle = '#000000';
context.beginPath();
context.arc(ballx, bally, radius, 0, Math.PI * 2);
context.fill();
context.fillStyle = '#F7CA18';
context.fillRect(0, 0, 50, 5);
}
var i = 50;
setInterval(function() {
draw(document.getElementById('canvas').getContext('2d'), 50 + i++, 50, 50);
}, 40);
<canvas id="canvas" />