使线条在画布内闪烁

时间:2012-07-17 10:34:47

标签: javascript canvas lines kineticjs blink

我目前正在使用Kinetic Js和canvas。

开展HTML5和Javascript项目

我需要我的线条(Kinetic.Line)闪烁。

我已经尝试过内置setTimeout函数的无限循环,但我不能使用javascript(这样的缺点因为我无法选择点!)。

有人有想法可以帮助我吗?

while (1) {
setTimeout("stage.load(myjson[0])", 1000);
setTimeout("stage.load(myjson[1])", 1000);
}

(抱歉我的英语不好)

1 个答案:

答案 0 :(得分:2)

这是使用KineticJS使一条线闪烁的一种方法。我认为最好使用内置于舞台对象中的KineticJS onFrame事件,而不是使用setTimeout。然后,您可以使用setAlpha设置线条的不透明度,使用getAlpha获取线条的当前不透明度。 setAlpha('0')将使该行透明,setAlpha('1')将使该行可见。

我在这里设置了一个小提琴: JSFiddle

这是实际闪烁的相关位:

var flashTime = 0;

stage.onFrame(function(frame){
    if(frame.time > (flashTime + 250)){;
        flashTime = frame.time;
        redLine.setAlpha(redLine.getAlpha() == 1 ? '0' : '1');
        layer.draw();                                
    };                                        
});