1. 首页
  2. 考试认证
  3. 其它
  4. PianoGame 早期Synthesia的开源分支(最初是Piano Hero)

PianoGame 早期Synthesia的开源分支(最初是Piano Hero)

上传者: 2024-08-09 04:42:45上传 ZIP文件 675.81KB 热度 17次

当前的钢琴游戏系统采用了类似吉他英雄摇滚乐队的风格,要求玩家在准确的时间点演奏音符。然而,这种机制对于钢琴音乐并不理想,因为钢琴演奏往往需要灵活的节奏控制,即rubato。为此,我们的第一个目标是实现一个允许rubato的系统。计划将歌曲的MIDI音符和用户的输入转换为字符串,然后使用字符串编辑距离度量来比较它们。

然而,这种方法可能会遇到一些问题。当多个音符同时演奏时,可能无法以正确的顺序存储。C#、A、B可以存储为A、B、C#,这会导致错误度量大于零,而这是不正确的。正确的处理方式应该是C#之后A,然后B始终按该顺序播放。因此,需要将一起演奏的音符与连续演奏的音符分开存储。为了解决这个问题,建议使用向量而非字符串,每个向量的索引应包含一起演奏的音符,并且这些音符需要排序,以确保C#、A、B始终以相同的方式存储。还需确保向量相等时系统按预期工作。

如果你对钢琴游戏开发感兴趣或想要更多相关资料,可以参考以下资源:

这些资源能够帮助你深入理解并实践不同的钢琴游戏开发技术,使你的项目更具互动性和趣味性。

下载地址
用户评论