Ich habe folgende Idee zur Verarbeitung von Tastatureingaben. Wir erfassen Eingaben in der "Hauptspielklasse" wie folgt:
protected override void Update(GameTime gameTime)
{
this.CurrentKeyboardState = Keyboard.GetState();
// main :Game class logic here
base.Update(gameTime);
this.PreviousKeyboardState = this.CurrentKeyboardState;
}
Verwenden Sie dann die Tastaturzustände (die einen internal
Gültigkeitsbereich haben) in allen anderen Spielkomponenten wieder. Die Gründe dafür sind 1) Minimierung der Tastaturverarbeitungslast und 2) Verringerung der "Verschmutzung" aller anderen Klassen mit ähnlichen Tastaturstatusvariablen.
Da ich sowohl in der Spiel- als auch in der XNA-Entwicklung ein ziemlicher Neuling bin, würde ich gerne wissen, ob dies alles vernünftig klingt.
UPDATE: Wenn jemand interessiert ist, tatsächliche Utility - Klasse, wie vorgeschlagen David Gouveia , die ich angelegt habe hier gefunden werden kann .