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

看板Ajax作者 (弱水三千 只取一瓢飲)時間10年前 (2014/05/23 21:56), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串2/4 (看更多)
※ 引述《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 所以還無法用這個新功能 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.30.54 ※ 文章網址: http://www.ptt.cc/bbs/Ajax/M.1400853380.A.B6A.html

05/23 22:03, , 1F
把 start timestamp 記錄起來 相減取秒數
05/23 22:03, 1F

05/23 22:36, , 2F
請計時 發覺時間到了就去更新
05/23 22:36, 2F

05/23 22:36, , 3F
不然遊戲都不用做了XD 人家還不定時 要等使用者哩
05/23 22:36, 3F

05/23 22:37, , 4F
不過如果只是要多久之後 也不要求精確的話
05/23 22:37, 4F

05/23 22:37, , 5F
其實用setTimeout/Interval也沒啥問題
05/23 22:37, 5F

05/23 22:53, , 6F
可以把劇本處裡完,再把結果交給用rtf執行的動畫
05/23 22:53, 6F
文章代碼(AID): #1JVrE4jg (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1JVrE4jg (Ajax)