我正在学习Xasing中的Easingfunction应用程序。但我无法理解它的数学方程式。
例如,用于BackEase的公式:
f(t) = t^3 - a * t * sin (t * pi)
SinEase:
f(t) = 1 - [Sin (1 - t) * (pi / 2)]
和BounceEase,ElasticEase(我找不到它的公式)......为什么要应用它?
答案 0 :(得分:2)
我不是这方面的专家,但这都是关于平滑过渡效果的。
E.g。从黄色变为蓝色,线性缓和使您从黄色到绿色突然开始,然后是从黄绿色到蓝绿色的完美平滑渐变,然后是突然的蓝色。
对于反弹缓和,它从黄色反弹到略带绿色并返回黄色,然后再变为绿色并返回,然后变为蓝绿色并返回,然后变为完全蓝色。
http://hosted.zeh.com.br/tweener/docs/en-us/misc/transitions.html处的图表为您提供了可能的其他转换的概述。
这些转换中的每一个都是作为数学函数或一组函数实现的,它们为您提供了时间t函数的百分比转换。
对于BackEase,具有以下功能的功能: a = 1/3,给出:http://www.wolframalpha.com/share/clip?f=d41d8cd98f00b204e9800998ecf8427elqqoohmvph
在伪代码中,这是转换期间发生的事情:
int yellow = ...
int blue = ...
float a = ...
for(int i = 1 to 100)
{
float t = i/100
float f = t^3 - a * t * sin (t * pi) //--> BackEase function
set color = yellow + f * (blue - yellow)
sleep
}