如何修改这个缓动函数以减少弹跳?

2024-01-07

我正在尝试修改 Flash CS3 提供的fl.motion.easing.bounce函数使生成的动画弹跳更少。我知道“减少弹跳”有点模糊,但我希望能帮助您理解该功能。

Thanks.

 /**
 *  @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% 之间,则应用第二个; ETC。

每个方程都是一个取决于第一个树参数的函数,所以基本上你需要稍微调整它们。

我建议使用硬编码的 7.5625(将其调大或调低以查看结果),直到您满意为止。


The 7.5625 is Math.pow(2.75, 2);,但是硬编码以节省处理时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修改这个缓动函数以减少弹跳? 的相关文章

  • 具有自定义持续时间的 ActivityOptionsCompat.makeSceneTransitionAnimation

    我正在为 API 级别 20 的设备进行场景转换 它工作正常 但我想设置自定义持续时间来进行转换 是否可以 My code ActivityOptionsCompat options ActivityOptionsCompat makeSc
  • 将图像保存在 applicationStorageDirectory 的目录中

    我试图将图像文件保存到我的空气项目的应用程序存储目录中的目录中 首先创建目录 var imageDirectory File File applicationStorageDirectory resolvePath vispics if i
  • WIN32,C++:是否可以在不隐藏窗口的情况下对窗口进行动画处理?

    我有一个编辑控件 一个文本字段 我想要为其设置动画 我想要的动画是它滑出 为该文本字段创建一条额外的线 我可以为我的文本字段设置动画并使其变大 但是要显示滑动动画 我首先必须隐藏它 这意味着整个文本字段会滑出 就像第一次从无到有一样 而不是
  • 我怎样才能将图像逐像素绘制到jframe

    我是java的初学者 直到今天我尝试做我自己认为的事情 所以这一天就在这里 我已经将图像的所有像素排列为 RGB 我想单击一个按钮并制作逐像素创建的类似动画的图像 这就是我所做的 但不起作用 import java awt BorderLa
  • 如何使用 Rails 应用程序中的 s3 在存储桶之间复制文件?

    我目前正在开发一个 Rails 应用程序 尝试将视频从 s3 中的一个存储桶复制 移动到另一个存储桶 但是我在 Rails 应用程序上不断收到代理错误 502 在杂种日志中 它显示 无法分配内存 一旦发生此错误 应用程序就会终止 我们必须重
  • 如何在 ItemRenderer 内使用数据网格范围外的变量?

    我使用将项目数组绑定到数据网格ItemRenderer 我用data变量来控制可绑定数据 我也有someComponentVariable需要插入到每一行中 但它是在组件范围内声明的 因此数据网格似乎无法重新识别它 编译错误 我如何使用这个
  • 从相机录制视频、叠加位图、添加音频、保存到设备,所有这些都在 as3/AIR mobile 中进行

    我的任务是在移动设备上录制来自摄像头的实时视频流 然后覆盖随时间变化的位图 并将音频 mp3 轨道添加到视频文件中 然后将其保存到设备上的某个位置 例如相机胶卷 我看到了一些有用的帖子 主要是这个 AS3 Flash AIR 使用网络摄像头
  • jQuery背景颜色动画

    我有一个带有链接和 SPAN 的 DIV 单击链接时 它会使用 AJAX 呈现项目列表 单击某个项目时 SPAN 的内容会发生更改 我想通过将 DIV 的背景颜色设置为绿色并使用 jQuery 将其动画回白色来突出显示此更改 var ori
  • 单击按钮重复动画

    我想每次单击按钮时都重复动画 我尝试做某事像这样 https jsfiddle net 91raod7e const dist document querySelector dist document querySelector butto
  • Cocos2d 变色精灵

    我需要我的精灵从一种颜色过渡到另一种颜色 然后不断地 比如蓝色 然后绿色 然后紫色 但我找不到任何好的动作 我想知道 我应该使用动画吗 或者是否有为此采取的联合行动 您可以使用 CCTintTo 操作来更改精灵的颜色 sprite runA
  • AS3如何在角色死亡动画结束时转到MainTimeline中的下一帧

    所以我需要知道我的角色 鸟 是否用管道 hitTestObject 在动画结束后播放骰子动画 它需要在主时间轴中转到游戏结束帧 if bird hitTestObject pipe1 bird gotoAndStop 3 frame 3 w
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf
  • UIImageView 使用动画块从中心缩放

    我正在使用以下内容来放大图像 但它是从左顶点开始缩放的 如何从中心进行缩放 UIView animateWithDuration duration delay delay options options animations myImage
  • SQL 错误:“没有这样的表”

    我试图解决为什么我的代码为所有查询返回 null 的原因 最后发现 sql 查询什么也没有返回 我使用简约代码创建了一个新的 AIR 文档 s WindowedApplication
  • 3D 旋转 - 透视

    public class MainActivity extends Activity LinearLayout rotator protected void onCreate Bundle savedInstanceState super
  • 我如何在 viewDidLoad 中执行 UIView animateWithDuration ? IOS 7

    我在 viewDidAppear 中尝试这个 但我有一秒钟的延迟 我能做什么 在 viewDidLoad 中工作 void viewDidAppear BOOL animated fullRotation CABasicAnimation
  • 当我更改浏览器选项卡时,Jquery Animate 停止

    我的投资组合中有一个疯狂的问题 http hericdk com http hericdk com 我用jquery做了一个简单的动画 一个太空飞船飞行的动画 然后就出现了我的作品 这个想法不错 大家都喜欢 但问题是 由于某种奇怪的原因 当
  • 对象克隆库的 Flash 复制?

    这可能是一个非常简单的问题 我只是不知道如何解决 我有一个想要复制的对象 但不知道如何进行 这是我的尝试 var myObj new ObjectClass var duplicate myObj duplicate null myObj
  • flash 10 正交投影

    我一直在尝试新的 flash 10 3d 可能性 发现在 3d 中旋转精灵相当容易 var card Sprite new MyCard card x 100 card y 100 card z 200 card rotationX 60
  • UIView animateWithDuration:delay: 工作很奇怪

    我在使用 iPhone 动画块时遇到了一个奇怪的问题 这段代码 UIView animateWithDuration 2 delay 0 options 0 animations void controller setBackgroundC

随机推荐