轻松实现阶梯式价值

时间:2016-04-05 02:35:37

标签: c++ lua easing

我目前正在lua(在c ++引擎之上)开发这个节奏游戏,而我在为当前正在播放的歌曲保持稳定的播放头位置时遇到了麻烦。

引擎给我的播放头位置分步更新,所以每2,3或4帧我会得到一个新的。但我需要有一个稳定的精灵随着节奏和东西顺利移动。

所以我只是跟踪我自己的播放头变量,我在0中初始化,然后不断地为它添加增量时间。这个变量最终与实际的播放头不同步,因此每当我得到一个新的播放头(或“新的一步”)时,我都会使用这两个之间的平均值来修正我的变量。

然而,这会导致波动。

将播放头变量放到步进变量中的最佳方法是什么?

这是我每个框架都要执行的代码:

- 将delta添加到我自己的播放头变量

playhead = playhead + delta_time

- 如果有新的steps_playhead值,请更正我的播放头

if stepped_playhead ~= last_stepped_playhead then
    playhead = (playhead + stepped_playhead) / 2
    last_stepped_playhead = stepped_playhead
end

0 个答案:

没有答案