我是怎么处理这个的?我想在 x 时间内将一个值从一个值补间到另一个值。同时还考虑到在开始和结束时有一个“轻松”会很好。
我知道,我真的不应该问,但我自己试过了,我被困住了。请假设要导致延迟,您需要调用函数 wait(time)。
我是怎么处理这个的?我想在 x 时间内将一个值从一个值补间到另一个值。同时还考虑到在开始和结束时有一个“轻松”会很好。
我知道,我真的不应该问,但我自己试过了,我被困住了。请假设要导致延迟,您需要调用函数 wait(time)。
一种可能对您有用的简单方法是沿单位圆内插:
为此,您只需评估圆上的点,这可确保相当平滑的移动以及缓入和缓出。您可以通过更改更改角度的速度来控制插值的速度。
假设您正在执行一维插值(即简单的标量插值,例如从 3.5 到 6.9 或其他),使用从 -π/2 到 π/2 的 Y 值可能会很方便。这些由正弦函数给出,您需要做的就是应用适当的缩放:
angle = -math.pi / 2
start = 3.5
end = 6.9
radius = (end - start) / 2
value = start + radius + radius * math.sin(angle)
我不是 100% 确定这是否是合法的 Lua,没有测试它。如果没有,转换可能很简单。