Re: [討論] JS 時間計算常見問題

作者: tomin (Schrödinger's cat)   2014-05-23 21:56:17
※ 引述《TonyQ (自立而後立人)》之銘言:
: 1.setInterval(or setTimeout) 跑的時間差不是精準的如你設定
: 2.browser focus 與否 可能會影響 setInterval 的行為
: http://jsfiddle.net/JR5Xk/3/
: → s25g5d4:requestAnimationFrame 05/23 20:46
: 推 s25g5d4:最近剛好在看 canvas 如何做動畫 05/23 20:50
: 推 s25g5d4:http://tinyurl.com/JSTimers 05/23 20:53
: → danny8376:那是給動畫用的 05/23 21:12
: → danny8376:純計算時間的話 用performance 05/23 21:12
: → danny8376:不過要是瀏覽器不支援還只是能用Date當fallback就是 05/23 21:14
: 推 s25g5d4:我就是剛好在做動畫阿 XD 05/23 21:19
我最近也是有看到requestAnimationFrame
本來以為可以從此擺脫setInterval, setTimeout
看到requestAnimationFrame的用法是"被動"的在等redraw的發生
但我想做的事通常是 幾秒後"主動"跑1個動畫 再幾秒後再跑1個動畫
前者是在一個既定劇本裡 去監聽每個斷點
後者則是每次斷點都可以自己設定 直到劇本結束
像這麼簡單的事: setTimeout(run, 2000);
我實在不知怎麼轉換成requestAnimationFrame
所以還無法用這個新功能
作者: s25g5d4 (function(){})()   2014-05-23 22:03:00
把 start timestamp 記錄起來 相減取秒數
作者: danny8376 (釣到一隻猴子@_@)   2014-05-23 22:36:00
請計時 發覺時間到了就去更新不然遊戲都不用做了XD 人家還不定時 要等使用者哩
作者: danny8376 (釣到一隻猴子@_@)   2014-05-23 22:37:00
不過如果只是要多久之後 也不要求精確的話其實用setTimeout/Interval也沒啥問題
作者: mmis1000 (秋月戀楓)   2014-05-23 22:53:00
可以把劇本處裡完,再把結果交給用rtf執行的動畫

Links booklink

Contact Us: admin [ a t ] ucptt.com