2012-07-17 84 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