2011-04-23 100 views

回答

2

這是我會做它

long millis = System.currentTimeMillis(); 
    boolean blink = (millis % 2000) < 1000; 

此使用模%運營商,以確定當前時間是多遠重複兩秒的時間窗。然後它會看到它是在窗口的前半部分(0到999)還是在後半部分(從1000到1999)。這會產生一個布爾值,每秒都會交替出現true和false。

+0

謝謝,這是有效的。一旦可能就會接受你的回答(5分鐘左右) – CookieMonster 2011-04-23 10:19:14

2

可變millislong類型,這是一個整數類型,因此millis/1000被 0.5在加入之前截斷爲一個整數值

更簡單的方法做你想做的可能是什麼:

boolean blink = ((millis/1000) & 1) == 0; 

這(由1000分)的毫秒值秒轉換,然後測試的最低位,看它是否爲0

+0

謝謝,現在我明白出了什麼問題。 – CookieMonster 2011-04-23 10:20:02