吉他英雄般的计时机制

时间:2015-06-09 18:13:38

标签: lua guitar

我目前正致力于制作一款受“吉他英雄”和“火星之旅”启发的游戏,到目前为止,一切进展顺利 - 我编写了一个可以解析。脚本文件的脚本。将FeedBack Editor转换为可用数据。

我担心的是我将如何确保时间正确_(我必须将这些节拍值转换为ms)_?我正在解析的文件包含这些值;

0 = N 1 120
120 = N 2 120
240 = N 3 576

如果第一个整数处于音符应该发生的位置,N是音符是否是锤击,然后是音品ID_(绿色或红色等)_和音符的长度,再次是节拍

我担心如果突然出现FPS延迟峰值,歌曲会很容易失去同步,这会阻止它们不同步吗?

我试图找到消息来确定他们如何确保笔记上的时间是正确的,但我似乎无法找到任何有用的东西。

1 个答案:

答案 0 :(得分:1)

这是一个难题,因为它取决于您的音频播放器API。为了使其正常工作,您需要在播放器中具有返回当前播放位置的功能。我们假设您的播放器API有一种方法可以在几毫秒内获得该位置。

我会在本机代码中执行同步,因为如果您使用lua中的值,GC可能会启动并让您不同步。只需使用lua来解析时序并为本机代码设置结构数组(或类似的东西)。