Zustände sind keine Aktionen, in Ihrem Spiel steuern sie, wie der Charakter aktualisiert wird (z. B. könnte jeder Zustand seine eigene Funktion update () haben).
Schauen Sie sich das Diagramm auf dieser Seite an:
http://en.wikipedia.org/wiki/State_diagram . Die Staaten erzählen uns etwas über die Welt (die Tür ist offen oder geschlossen). Die Aktionen zeigen uns, was die Welt von einem Staat in einen anderen bringt.
In Ihrem Fall könnten Sie Zustände haben wie:
- Springen
- Laufen
- Schmerzen haben
- fallen
- tot
Und der Übergang zwischen Staaten (die Ereignisse / Pfeile zwischen Staaten) wären Eingaben von Spielern und Reaktionen auf die Welt, wie zum Beispiel:
- von einem Monster getroffen
- Sprungtaste gedrückt
- Aufnahmetaste gedrückt
Jeder Staat muss prüfen, ob relevante Ereignisse aufgetreten sind. In der Regel erfolgt dies mit if-Anweisungen.
Aber was passiert, wenn du rennst, wenn du Schaden nimmst?
Das hit by monster
Ereignis würde ausgelöst und den Spieler in den in pain
Zustand versetzen.
oder springen, Schaden nehmen und gleichzeitig schießen?
Der Spieler würde wieder in den in pain
Zustand übergehen, in dem Sie Ihr "Hit" -Sprite anzeigen könnten, das den rückwärts fallenden Charakter zeigt.
Sie werden if-Anweisungen wahrscheinlich nicht entkommen, aber Sie können tief verschachtelte Anweisungen vermeiden.