2012-07-17 83 views
1

我目前正在使用Kinetic Js和画布工作HTML5和Javascript项目。使线条在画布内闪烁

我需要我的线(Kinetic.Line)眨眼。

我已经尝试过一些与setTimeout函数内部的无限循环组成的内容,但是我不能使用javascript(这样的缺点,因为我不能选择点!)。

有人有一个想法,可以帮助我吗?

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

(对不起我的英文不好)

+0

@FlorianMargaine我不认为'blink'标签可能有助于任何方式在这种情况下... – 2012-07-17 10:39:19

+0

@ Chips_100不,这是相当有趣:] – 2012-07-17 10:41:15

+0

你可以显示你已经尝试过吗?我的第一个想法是交替使用它的颜色和背景颜色绘制线来模拟闪烁。 – 2012-07-17 10:43:16

回答

2

这里的制作使用KineticJS线闪烁的一种方式。而不是使用setTimeout,我认为最好使用内置于舞台对象的KineticJS onFrame事件。然后,您可以使用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();         
    };           
}); 
+0

不错,谢谢! – GeoffreyB 2012-07-17 11:37:00

+0

小提琴不起作用。 – 2014-09-03 16:03:05