作者tomin (弱水三千 只取一瓢饮)
看板Ajax
标题Re: [讨论] JS 时间计算常见问题
时间Fri May 23 21:56:17 2014
※ 引述《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://webptt.com/cn.aspx?n=bbs/Ajax/M.1400853380.A.B6A.html
1F:推 s25g5d4:把 start timestamp 记录起来 相减取秒数 05/23 22:03
2F:→ danny8376:请计时 发觉时间到了就去更新 05/23 22:36
3F:→ danny8376:不然游戏都不用做了XD 人家还不定时 要等使用者哩 05/23 22:36
4F:→ danny8376:不过如果只是要多久之後 也不要求精确的话 05/23 22:37
5F:→ danny8376:其实用setTimeout/Interval也没啥问题 05/23 22:37
6F:推 mmis1000:可以把剧本处里完,再把结果交给用rtf执行的动画 05/23 22:53