Ho appena eseguito l'utile tutorial per principianti allo http://www.riemers.net/eng/Tutorials/XNA/Csharp/series2d.php e sono ragionevolmente soddisfatto del risultato.Effetti sonori XNA che rallentano il sistema in modo massiccio
Tuttavia, ho notato che utilizzando 3 file .wav per gli effetti sonori, il gioco è rallentato in maniera massiccia, ho adattato questa porzione di codice:
if (keybState.IsKeyDown(Keys.Enter) || keybState.IsKeyDown(Keys.Space))
{
if (!rocketFlying) launch.Play();
rocketFlying = true;
...
}
che svolge il SoundEffect lancio quando il viene premuto il pulsante, poiché il metodo di aggiornamento verifica questo valore 60 volte al secondo ed è difficile premere il pulsante in modo rapido, quindi ora lo riproduce solo una volta.
Tuttavia, rallenta ancora il gioco in modo massivo, il che ovviamente non è l'ideale.
Ovviamente, non sto cercando di fare nulla con questo particolare gioco, ma mi piacerebbe sapere come risolvere questo problema per i progetti futuri e solo perché è un po 'irritante.
Acclamazioni Ryan
Non so se questo risolverà il tuo problema, ma guardando quel codice, devi controllare se l'ultimo KeyboardState mostra quei pulsanti per essere attivo, o potresti implementare un ritardo tra quando potresti premere il pulsante. – annonymously
Disattiva la ripetizione della chiave nel sistema e riprova. Se lo risolve, da qualche parte la tua app sta cercando di riprodurre il suono più spesso del previsto, anche se la senti solo una volta. – jefflunt