补间Lua中的值

时间:2009-05-12 19:27:06

标签: variables loops lua interpolation

我怎么去这个?我希望在x时间内将值从一个补间到另一个。同时也考虑到在开始和结束时都有'轻松'是很好的。

我知道,我不应该问,但我已经尝试过了,而且我被困住了。 请假设要导致延迟,您需要调用函数等待(时间)。

2 个答案:

答案 0 :(得分:4)

一个可能对您有用的简单方法是沿单位圆插值: Unit circle

要做到这一点,您只需评估沿圆圈的点,这可确保相当平稳的移动,轻松和舒适。您可以通过更改角度改变的速度来控制插值的速度。

假设您正在进行一维插值(即简单的标量插值,如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)

我不是百分百确定这是否合法Lua,没有测试它。如果没有,转换可能是微不足道的。

答案 1 :(得分:0)

你可以看一下Tweener ActionScript library的灵感。

例如,您可以借用必要的等式from here

如果您需要进一步的帮助,请询问。