Я только что пропустил очень полезный учебник для начинающих в http://www.riemers.net/eng/Tutorials/XNA/Csharp/series2d.php и я доволен результатом.XNA Звуковые эффекты, замедляющие систему массово
Однако, я заметил, что с помощью 3 .wav файлов для звуковых эффектов, игра в широком масштабе замедлился, я адаптировал этот кусок кода:
if (keybState.IsKeyDown(Keys.Enter) || keybState.IsKeyDown(Keys.Space))
{
if (!rocketFlying) launch.Play();
rocketFlying = true;
...
}
который играет пусковую Soundeffect, когда нажата кнопка, так как метод обновления проверяет это 60 раз в секунду, и это очень сложно быстро нажимать на кнопку, поэтому теперь она воспроизводится только один раз.
Однако он по-прежнему замедляет игру в массовом порядке, что, очевидно, не идеально.
Очевидно, что я не пытаюсь что-либо делать с этой конкретной игрой, но я хотел бы знать, как решить эту проблему для будущих проектов и просто потому, что это немного раздражает.
Приветствия Райан
Я не знаю, поможет ли это решить вашу проблему, но если вы посмотрите на этот код, вам нужно проверить, показывают ли последние KeyboardState эти кнопки, или вы можете осуществить задержку между тем, когда вы можете нажать кнопку. – annonymously
Выключите ключ, повторяющийся в вашей системе, и повторите попытку. Если это исправление, то где-то ваше приложение пытается воспроизводить звуковой путь чаще, чем предполагалось, даже если вы только слышите его один раз. – jefflunt