繁体   English   中英

HTML5-canvas使圆圈在画布内闪烁

[英]HTML5-canvas make circles blink inside a canvas

我在画布里画了几个小圆圈(用红色填充)作为标记,现在我希望它们闪烁,我没能成功。 请任何人帮忙,我被困住了。

var X = 135;
var Y = 70;

function button() {
    var butt = c.getContext("2d");
    butt.beginPath();
    butt.arc(X, Y, 4, 0, 2 * Math.PI);
    butt.fillStyle = "#FF0000";
    butt.fill();
    butt.stroke();
    butt.css('visibility', butt.css('visibility') === 'hidden' ? '' : 'hidden')
}
button();
button(X = 200, Y = 100);
button(X = 280, Y = 200);

首先,您必须对您的功能进行两处更改。 传入参数并返回对按钮的引用。

function button(X, Y) {
    var butt = c.getContext("2d");
    butt.beginPath();
    butt.arc(X, Y, 4, 0, 2 * Math.PI);
    butt.fillStyle = "#FF0000";
    butt.fill();
    butt.stroke()
}

这允许您创建这样的按钮并保留参考:

b1 = button(135, 70);
b2 = button(200, 100);
b3 = button(280, 200);

然后,您可以创建一个切换可见性并将其称为的功能

function toggle_button(items){
    items.forEach(function(item) {
        item.css('visibility', item.css('visibility') === 'hidden' ? 'visible' : 'hidden')
    });
    setTimeout(function toggle_buttons(items),500);
}

setTimeout(function toggle_buttons([b1, b2, b3]),500);

为了闪烁,函数toggle_buttons必须设置一个超时本身以保持闪烁继续。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM