我在HTML5画布中绘制一个矩形。我希望它在绘制时是一种颜色(透明),然后在绘制它时它是另一种颜色(不透明)。有没有办法可以在我的绘图功能中说,也许使用条件,来检测鼠标此刻是否在移动?即
draw: function(ctx) {
ctx.beginPath();
ctx.rect(this.X, this.Y, this.Width, this.Height);
if(mouseisMoving) {
ctx.fillStyle = "rgba(0,0,0,1)";
}
else {
...
}
ctx.fill();
ctx.stroke();
}
更好的是,改变onleftmouseup的颜色。但是,因为我正在通过一个框架并重写一个draw方法,所以如果我可以在draw方法中做到这一点会更好。本身。这可能吗?
答案 0 :(得分:2)
您希望将onmousedown和onmouseup事件侦听器附加到canvas元素,该元素设置一个可以通过绘制函数范围访问的布尔值。
类似的东西:
var mouse = false;
canvas.onmousedown = function () {
mouse = true;
};
canvas.onmouseup = function () {
mouse = false;
};
var draw = function (ctx) {
if (mouse) {
ctx.fillStyle = "rgba(0,0,0,1)";
}
...
};