Xna C# - 当窗口处于活动状态时,节奏游戏音乐不同步

本文关键字:节奏 游戏音乐 同步 活动状态 窗口 Xna | 更新日期: 2023-09-27 18:36:45

我正在XNA中制作一个传统的节奏游戏,我有一个简单的公式来计算与引导音符的距离,相对于指定音符击中引导音符的时间以及音符的速度。问题是音符比指定时间早~1-2秒通过引导音符。音符以每帧 1 像素的速度移动,我注意到当窗口处于活动状态时,音符的移动速度比预期的要快一些,并且提前通过了引导音符。当窗口处于非活动状态时(我将焦点放在任务栏上,以便我仍然能够看到游戏),注释会在指定时间准确到达指南注释。如果您发现我不清楚,我会尽量提供尽可能多的细节!谢谢!我忘了提到 FPS 在公式中也是相对的。

Xna C# - 当窗口处于活动状态时,节奏游戏音乐不同步

您遇到同步问题的原因是您的游戏基于 FPS,在评论中是这样说的。

使用 GameTime 类来管理笔记,因为帧速率可能随时下降,通常是通过垃圾回收。

如果再有同步问题,媒体播放器有一个名为TimePosition的属性,这是一个TimeSpan,指示歌曲位置的位置。

我希望这有所帮助。