h5 的requestframeanimation画图时,怎么设置不同间隔时间画

h5 的requestframeanimation画图时,怎么设置不同间隔时间画
比如地图里有个直升机,螺旋桨每秒旋转5帧
还有一个火焰,每秒变化2帧
而h5 的requestframeanimation每秒是60帧

要求不用js定时器(setInterval和setTimeout)

怎么做呢

阅读 4.2k
3 个回答

我自己终于想到了好的方法,再需要回调画图的函数里,传入一个毫秒时间戳,再与当前主线程的动画里面的实时时间戳对比,如果1S刷新一次,则if判断传入的时间减去当前主线程的时间为1000,然后更新该render方法,并更新该render里面的时间戳。。

哈哈,我真是太聪明了

这个是逐帧动画,仅仅依靠这个方法是肯定不行的。

你可以配合一个叫做“函数节流”的思路来做,参考文章 https://segmentfault.com/a/11...

requestframeanimation 相当于 setInterval(function(){}, 1/60),如果你要每一秒 5 帧,那么每 12 个回调实际执行一次就是这个效果,但是不推荐,推荐现在一帧的旋转的角度变为原来一帧的 1/12 就可以了。

推荐问题
宣传栏