緩動函數(shù)Easing Equations以及Fabric.js緩動效果屏蔽
現(xiàn)實(shí)生活中,物體并不是突然啟動或者停止,當(dāng)然也不可能一直保持勻速移動。緩動函數(shù)是通過時間的變化控制參數(shù)值變化的速率,模擬現(xiàn)實(shí)中的物體運(yùn)動。在使用Fabric.js的時候,發(fā)現(xiàn)這個庫內(nèi)置了豐富的緩動函數(shù),但是我只想要勻速運(yùn)動,沒找到怎么屏蔽緩動效果。上網(wǎng)搜索后,發(fā)現(xiàn)緩動函數(shù)比我想象中還有意思,下面這個網(wǎng)站推薦給大家,可以很直觀的理解緩動函數(shù):


網(wǎng)址二維碼:

Fabric.js
Fabric.js的緩動函數(shù)來自于 gizma 在這個網(wǎng)站上可以看到第一個就是 simple linear tweening - no easing, no acceleration 勻速函數(shù)。所以按照該函數(shù)自己寫一個勻速函數(shù):
function noease(t, b, c, d) {
??? return c*t/d + b;
? }
放在自己的JS腳本中(不需要改Fabric.js源文件),在移動動畫配置中的easing直接使用即可,比如:
動畫對象.animate({top:移動終點(diǎn)},{
??????????? onChange: canvas.renderAll.bind(畫布),
??????????? duration: 動畫時長,
??????????? easing: noease
??????? })
gizma網(wǎng)址??? http://gizma.com/easing/
網(wǎng)址二維碼:

標(biāo)簽: