2016-06-06 12 views

Antwort

1

Ich vermute, dass der Zustand der Tastatur nur zwischen Update (...) Zyklen (oder einer ähnlichen Entsprechung) aktualisiert wird, so dass Schleifen wird nichts nützliches tun.

Um Änderungen im Tastaturstatus zu erkennen, sollten Sie die Tastaturzustände zwischen aufeinander folgenden Aufrufen von Update (...) vergleichen.

+0

Die Schleife, auf die ich mich bezog, war tatsächlich die Update() - Methode. Also sollte es jedes Mal aufgerufen werden, wenn das Spiel aktualisiert wird, oder? – Omegastick

+0

Die Antwort von Monset zeigt ein gemeinsames Muster zum Erkennen von Schlüsseländerungen. – lzcd

2

versuchen, wie diese Überprüfung:

KeyboardState newState; 
public void Update(...) 
{ 
    newState = Keyboard.GetState(); 
    if(newState.IsKeyDown(Keys.Enter)) 
    { 
     *do what you want here* 
    } 
} 

Auf diese Weise wird bei jeder Aktualisierung Sie aktuelle Tastaturstatus aktualisieren (die Tasten gedrückt werden), so dass Sie für verschiedene Tastendrücke in jedem Rahmen überprüfen.

EDIT:
Sie sind wahrscheinlich für einen einzelnen Klick überprüfen, um zu wollen, so dass statt 2 Frage zu stellen, ist hier ein „Bonus“ auf Ihre Frage. Der Code ist ähnlich:

0

Neustart meines Computers behoben das Problem, es muss ein Fehler außerhalb des Codes gewesen sein.

Verwandte Themen