二、即插即用的缓动小算法
原理如下:
假设要从数值A变化到数值B,如果是线性运动,则每次移动距离是一样;如果是缓动,每次移动距离不一样。那如何才能不一样呢?很简单,按比例移动就可以。
例如:每次移动剩余距离的一半。
对吧,超容易理解的。
比方说:你和初恋之间距离是64,每秒移动一半,则,你们之间的距离下一秒就是32, 再下一秒就是16,然后8,然后4,然后2,然后1,然后……你们就在一起了。你们在一起的这个过程就是一个典型的先快后慢的缓动运动过程,如下示意图:
用一个简单的公式表示就是:
A = A + (B - A) / 2
翻译一下就是:
我下一秒的位置 = 现在位置 + 现在和初恋之间距离的一半
是不是很好理解。
原文链接:http://www.zhangxinxu.com/wordpress/2017/01/share-a-animation-algorithm-js/
本文转自 小旭依然 51CTO博客,原文链接:http://blog.51cto.com/xuyran/1896319