gpt4 book ai didi

actionscript-3 - 如何修改此缓动函数以减少反弹?

转载 作者:行者123 更新时间:2023-12-02 04:19:10 25 4
gpt4 key购买 nike

我正在尝试修改 Flash CS3 提供的 fl.motion.easing.bounce 函数以减少生成的动画反弹。我很欣赏“减少弹跳”有点含糊,但如果能帮助我理解该功能,我将不胜感激。

谢谢。

 /**
* @param t Specifies the current time, between 0 and duration inclusive.
*
* @param b Specifies the initial value of the animation property.
*
* @param c Specifies the total change in the animation property.
*
* @param d Specifies the duration of the motion.
*
* @return The value of the interpolated property at the specified time.
*/
public static function easeOut(t:Number, b:Number,
c:Number, d:Number):Number
{
if ((t /= d) < (1 / 2.75))
return c * (7.5625 * t * t) + b;

else if (t < (2 / 2.75))
return c * (7.5625 * (t -= (1.5 / 2.75)) * t + 0.75) + b;

else if (t < (2.5 / 2.75))
return c * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375) + b;

else
return c * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375) + b;
}

最佳答案

基本上,该函数根据 4 个因素返回新位置的插值:动画的当前时间、动画属性的初始值、要完成的动画的总变化以及动画的总持续时间。

您所拥有的是对不同时间的检查:如果动画仍未达到总持续时间的大约 36% (1/2.75),请应用第一个等式;如果在 36% 和 72% 之间,则应用第二个;等

每个方程都是一个函数,取决于第一个树参数,因此基本上您需要稍微调整一下。

我建议您使用硬编码的 7.5625(让它变大或变小以查看结果)直到您满意为止。


7.5625Math.pow(2.75, 2);,但进行了硬编码以节省处理时间。

关于actionscript-3 - 如何修改此缓动函数以减少反弹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/740308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com