补间
使用补间/插值实现平滑动画。
贡献者: LuYifei2011
脚本
线性
定义 线性 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值))
正弦
定义 正弦 缓入 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 将 [补间 v] 设为 ((1) - ([cos v] ((补间) * (90)))) 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 正弦 缓出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 将 [补间 v] 设为 ([sin v] ((补间) * (90))) 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 正弦 缓入和出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 将 [补间 v] 设为 (() - ((([cos v] ((补间) * (180))) - (1)) / (2))) 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值))
次方
// 可修改为: 三次、四次、五次 定义 二次 缓入 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 将 [补间 v] 设为 ((补间) * (补间)) // 三次: 再乘一次;四/五次: 类推 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 二次 缓出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 将 [补间 v] 设为 ((1) - (补间)) 将 [补间 v] 设为 ((补间) * (补间)) // 三次: 再乘一次;四/五次: 类推 将 [补间 v] 设为 ((1) - (补间)) 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 二次 缓入和出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) < (0.5)> 那么 将 [补间 v] 设为 ((2) * (补间)) 将 [补间 v] 设为 ((补间) * (补间)) // 三次: 再乘一次;四/五次: 类推 将 [补间 v] 设为 ((补间) / (2)) 否则 将 [补间 v] 设为 (((-2) * (补间)) + (2)) 将 [补间 v] 设为 ((补间) * (补间)) // 三次: 再乘一次;四/五次: 类推 将 [补间 v] 设为 ((1) - ((补间) / (2))) 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值))
指数
引入模块 幂 (乘方) (#1)
定义 (a) ^ (b) 将 [a^b v] 设为 (1) 重复执行 (b) 次 将 [a^b v] 设为 ((a^b) * (a)) 结束
定义 指数 缓入 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) = (0)> 那么 将 [补间 v] 设为 (0) 否则 (2) ^ (((10) * (补间)) - (10))::custom 将 [补间 v] 设为 (a^b) 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 指数 缓出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) = (1)> 那么 将 [补间 v] 设为 (1) 否则 (2) ^ ((-10) * (补间))::custom 将 [补间 v] 设为 ((1) - (a^b)) 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 指数 缓入和出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) = (0)> 那么 将 [补间 v] 设为 (0) 否则 如果 <(补间) = (1)> 那么 将 [补间 v] 设为 (1) 否则 如果 <(补间) < (0.5)> 那么 (2) ^ (((20) * (补间)) - (10))::custom 将 [补间 v] 设为 ((a^b) / (2)) 否则 (2) ^ (((-20) * (补间)) + (10))::custom 将 [补间 v] 设为 (((2) - (a^b)) / (2)) 结束 结束 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值))
圆形
定义 圆形 缓入 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 将 [补间 v] 设为 ((1) - ([平方根 v] ((1) - ((补间) * (补间))))) 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 圆形 缓出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 将 [补间 v] 设为 ([平方根 v] ((1) - (((补间) - (1)) * ((补间) - (1))))) 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 圆形 缓入和出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) < (0.5)> 那么 将 [补间 v] 设为 ((2) * (补间)) 将 [补间 v] 设为 ((1) - ([平方根 v] ((1) - ((补间) * (补间))))) 将 [补间 v] 设为 ((补间) / (2)) 否则 将 [补间 v] 设为 (((-2) * (补间)) + (2)) 将 [补间 v] 设为 ([平方根 v] ((1) - ((补间) * (补间)))) 将 [补间 v] 设为 (((补间) + (1)) / (2)) 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值))
回弹
定义 回弹 缓入 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (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] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 回弹 缓出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (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] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 回弹 缓入和出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) < (0.5)> 那么 将 [补间 v] 设为 ((补间) * (2)) 将 [补间 v] 设为 ((补间) / (100)) 将 [补间 v] 设为 ((补间) * (100)) 将 [补间 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] 设为 ((补间) / (2)) 将 [补间 v] 设为 ((补间) + (0.5)) 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值))
弹性
引入模块 幂 (乘方) (#1)
定义 (a) ^ (b) 将 [a^b v] 设为 (1) 重复执行 (b) 次 将 [a^b v] 设为 ((a^b) * (a)) 结束
定义 弹性 缓入 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) = (0)> 那么 将 [补间 v] 设为 (0) 否则 如果 <(补间) = (1)> 那么 将 [补间 v] 设为 (1) 否则 (2) ^ (((10) * (补间)) - (10))::custom 将 [补间 v] 设为 (() - ((a^b) * ([sin v] ((((补间) * (10)) - (10.75)) * (120))))) 结束 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 弹性 缓出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) = (0)> 那么 将 [补间 v] 设为 (0) 否则 如果 <(补间) = (1)> 那么 将 [补间 v] 设为 (1) 否则 (2) ^ ((-10) * (补间))::custom 将 [补间 v] 设为 (((a^b) * ([sin v] ((((补间) * (10)) - (0.75)) * (120)))) + (1)) 结束 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 弹性 缓入和出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (100)) 如果 <(补间) = (0)> 那么 将 [补间 v] 设为 (0) 否则 如果 <(补间) = (1)> 那么 将 [补间 v] 设为 (1) 否则 如果 <(补间) < (0.5)> 那么 (2) ^ (((20) * (补间)) - (10))::custom 将 [补间 v] 设为 ((() - ((a^b) * ([sin v] ((((补间) * (20)) - (11.125)) * (80))))) / (2)) 否则 (2) ^ (((-20) * (补间)) + (10))::custom 将 [补间 v] 设为 ((((a^b) * ([sin v] ((((补间) * (20)) - (11.125)) * (80)))) / (2)) + (1)) 结束 结束 结束 将 [补间 v] 设为 (((补间) * ((结束值) - (起始值))) + (起始值))
弹跳
定义 弹跳 缓出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (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] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 弹跳 缓入 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (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] 设为 (((补间) * ((结束值) - (起始值))) + (起始值)) 定义 弹跳 缓入和出 从 (起始值) 到 (结束值) 进度 (进度) % 将 [补间 v] 设为 ((进度) / (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] 设为 (((补间) * ((结束值) - (起始值))) + (起始值))
变量 / 列表
名称 | 类型 | 作用域 |
---|---|---|
补间 | 变量 | 角色 |
参考链接
- Tween | TurboWarp Extensions (extension)