补间
使用补间/插值实现平滑动画。
贡献者: LuYifei2011
脚本
线性
定义 线性 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
正弦
定义 正弦 缓入 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 ((1) - ([cos v] ((补间) * (90)))) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定义 正弦 缓出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 ([sin v] ((补间) * (90))) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定义 正弦 缓入和出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 (() - ((([cos v] ((补间) * (180))) - (1)) / (2))) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
次方
// 可以更改指数:二次 / 三次 / 四次 / 五次 定义 二次 缓入 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 ((补间) * (补间)) // 三次:再乘一次;四次/五次:以此类推 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定义 二次 缓出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 ((1) - (补间)) 将 [补间 v] 设为 ((补间) * (补间)) // 三次:再乘一次 将 [补间 v] 设为 ((1) - (补间)) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定义 二次 缓入和出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 如果 <(补间) < (0.5)> 那么 将 [补间 v] 设为 ((2) * (补间)) 将 [补间 v] 设为 ((补间) * (补间)) // 三次:再乘一次 将 [补间 v] 设为 ((补间) / (2)) 否则 将 [补间 v] 设为 (((-2) * (补间)) + (2)) 将 [补间 v] 设为 ((补间) * (补间)) // 三次:再乘一次 将 [补间 v] 设为 ((1) - ((补间) / (2))) 结束 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
指数
引入模块 幂 (乘方) · 主脚本 (#1)
定义 (a :: custom-arg) 的 (b :: custom-arg) 次幂 将 [结果 v] 设为 ([e ^ v] ((b :: custom-arg) * ([ln v] (a :: custom-arg))))
定义 指数 缓入 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
如果 <(补间) = (0)> 那么
将 [补间 v] 设为 (0)
否则
(2) ^ (((10) * (补间)) - (10)) :: custom
将 [补间 v] 设为 (result)
结束
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定义 指数 缓出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
如果 <(补间) = (1)> 那么
将 [补间 v] 设为 (1)
否则
(2) ^ ((-10) * (补间)) :: custom
将 [补间 v] 设为 ((1) - (result))
结束
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定义 指数 缓入和出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
如果 <(补间) = (0)> 那么
将 [补间 v] 设为 (0)
否则
如果 <(补间) = (1)> 那么
将 [补间 v] 设为 (1)
否则
如果 <(补间) < (0.5)> 那么
(2) ^ (((20) * (补间)) - (10)) :: custom
将 [补间 v] 设为 ((result) / (2))
否则
(2) ^ (((-20) * (补间)) + (10)) :: custom
将 [补间 v] 设为 (((2) - (result)) / (2))
结束
结束
结束
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))圆形
定义 圆形 缓入 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 ((1) - ([平方根 v] ((1) - ((补间) * (补间))))) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定义 圆形 缓出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 ([平方根 v] ((1) - (((补间) - (1)) * ((补间) - (1))))) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定义 圆形 缓入和出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 如果 <(补间) < (0.5)> 那么 将 [补间 v] 设为 ((2) * (补间)) 将 [补间 v] 设为 ((1) - ([平方根 v] ((1) - ((补间) * (补间))))) 将 [补间 v] 设为 ((补间) / (2)) 否则 将 [补间 v] 设为 (((-2) * (补间)) + (2)) 将 [补间 v] 设为 ([平方根 v] ((1) - ((补间) * (补间)))) 将 [补间 v] 设为 (((补间) + (1)) / (2)) 结束 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
回弹
定义 回弹 缓入 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 (((补间) * (补间)) * (((2.70158) * (补间)) - (1.70158))) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定义 回弹 缓出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 将 [补间 v] 设为 ((补间) - (1)) 将 [补间 v] 设为 ((((补间) * (补间)) * (((2.70158) * (补间)) + (1.70158))) + (1)) 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg)) 定义 回弹 缓入和出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) % 将 [补间 v] 设为 ((进度 :: custom-arg) / (100)) 如果 <(补间) < (0.5)> 那么 将 [补间 v] 设为 ((补间) * (2)) 将 [补间 v] 设为 ((((补间) * (补间)) * (((3.5949095) * (补间)) - (2.5949095))) / (2)) 否则 将 [补间 v] 设为 (((补间) * (2)) - (2)) 将 [补间 v] 设为 (((((补间) * (补间)) * (((3.5949095) * (补间)) + (2.5949095))) + (2)) / (2)) 结束 将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
弹性
引入模块 幂 (乘方) · 主脚本 (#1)
定义 (a :: custom-arg) 的 (b :: custom-arg) 次幂 将 [结果 v] 设为 ([e ^ v] ((b :: custom-arg) * ([ln v] (a :: custom-arg))))
定义 弹性 缓入 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
如果 <(补间) = (0)> 那么
将 [补间 v] 设为 (0)
否则
如果 <(补间) = (1)> 那么
将 [补间 v] 设为 (1)
否则
(2) ^ (((10) * (补间)) - (10)) :: custom
将 [补间 v] 设为 (() - ((result) * ([sin v] ((((补间) * (10)) - (10.75)) * (120)))))
结束
结束
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定义 弹性 缓出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
如果 <(补间) = (0)> 那么
将 [补间 v] 设为 (0)
否则
如果 <(补间) = (1)> 那么
将 [补间 v] 设为 (1)
否则
(2) ^ ((-10) * (补间)) :: custom
将 [补间 v] 设为 (((result) * ([sin v] ((((补间) * (10)) - (0.75)) * (120)))) + (1))
结束
结束
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定义 弹性 缓入和出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
如果 <(补间) = (0)> 那么
将 [补间 v] 设为 (0)
否则
如果 <(补间) = (1)> 那么
将 [补间 v] 设为 (1)
否则
如果 <(补间) < (0.5)> 那么
(2) ^ (((20) * (补间)) - (10)) :: custom
将 [补间 v] 设为 ((() - ((result) * ([sin v] ((((补间) * (20)) - (11.125)) * (80))))) / (2))
否则
(2) ^ (((-20) * (补间)) + (10)) :: custom
将 [补间 v] 设为 ((((result) * ([sin v] ((((补间) * (20)) - (11.125)) * (80)))) / (2)) + (1))
结束
结束
结束
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))弹跳
定义 弹跳 缓出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
如果 <(补间) < (0.363636)> 那么
将 [补间 v] 设为 ((7.5625) * ((补间) * (补间)))
否则
如果 <(补间) < (0.727272)> 那么
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.545454)) * ((补间) - (0.545454)))) + (0.75))
否则
如果 <(补间) < (0.90909)> 那么
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.818181)) * ((补间) - (0.818181)))) + (0.9375))
否则
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.954545)) * ((补间) - (0.954545)))) + (0.984375))
结束
结束
结束
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定义 弹跳 缓入 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
将 [补间 v] 设为 ((1) - (补间))
如果 <(补间) < (0.363636)> 那么
将 [补间 v] 设为 ((7.5625) * ((补间) * (补间)))
否则
如果 <(补间) < (0.727272)> 那么
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.545454)) * ((补间) - (0.545454)))) + (0.75))
否则
如果 <(补间) < (0.90909)> 那么
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.818181)) * ((补间) - (0.818181)))) + (0.9375))
否则
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.954545)) * ((补间) - (0.954545)))) + (0.984375))
结束
结束
结束
将 [补间 v] 设为 ((1) - (补间))
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))
定义 弹跳 缓入和出 从 (起始值 :: custom-arg) 到 (结束值 :: custom-arg) 进度 (进度 :: custom-arg) %
将 [补间 v] 设为 ((进度 :: custom-arg) / (100))
如果 <(补间) < (0.5)> 那么
将 [补间 v] 设为 ((补间) * (2))
将 [补间 v] 设为 ((1) - (补间))
如果 <(补间) < (0.363636)> 那么
将 [补间 v] 设为 ((7.5625) * ((补间) * (补间)))
否则
如果 <(补间) < (0.727272)> 那么
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.545454)) * ((补间) - (0.545454)))) + (0.75))
否则
如果 <(补间) < (0.90909)> 那么
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.818181)) * ((补间) - (0.818181)))) + (0.9375))
否则
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.954545)) * ((补间) - (0.954545)))) + (0.984375))
结束
结束
结束
将 [补间 v] 设为 ((1) - (补间))
将 [补间 v] 设为 ((补间) / (2))
否则
将 [补间 v] 设为 (((补间) * (2)) - (1))
如果 <(补间) < (0.363636)> 那么
将 [补间 v] 设为 ((7.5625) * ((补间) * (补间)))
否则
如果 <(补间) < (0.727272)> 那么
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.545454)) * ((补间) - (0.545454)))) + (0.75))
否则
如果 <(补间) < (0.90909)> 那么
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.818181)) * ((补间) - (0.818181)))) + (0.9375))
否则
将 [补间 v] 设为 (((7.5625) * (((补间) - (0.954545)) * ((补间) - (0.954545)))) + (0.984375))
结束
结束
结束
将 [补间 v] 设为 (((补间) + (1)) / (2))
结束
将 [补间 v] 设为 (((补间) * ((结束值 :: custom-arg) - (起始值 :: custom-arg))) + (起始值 :: custom-arg))变量 / 列表
| 名称 | 类型 | 作用域 |
|---|---|---|
补间 | 变量 | 角色 |
备注
此模块中的脚本可以用于替代 TurboWarp 的 补间 扩展。
注意:截至 2026/04/05,TurboWarp 补间扩展的中文简体翻译有误,详见 此处。因此,从 TurboWarp 补间扩展迁移到此模块时,请注意翻译差异。
参考链接
- Tween | TurboWarp Extensions (extension)