Spielzustand-Automaten
Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
[unmarkierte Version] | [unmarkierte Version] |
K (→State) |
(→Grundidee und Architektur) |
||
Zeile 16: | Zeile 16: | ||
<tt>State</tt> definiert ein Interface für den <tt>StateManager</tt>. Dieses wird von den konkreten Spielzuständen implementiert. Für einen Spielzustand können abhängig von der Situation unterschiedliche Schnittstellen interessant sein. Grundsätzlich können folgende prinzipiell notwendig sein: | <tt>State</tt> definiert ein Interface für den <tt>StateManager</tt>. Dieses wird von den konkreten Spielzuständen implementiert. Für einen Spielzustand können abhängig von der Situation unterschiedliche Schnittstellen interessant sein. Grundsätzlich können folgende prinzipiell notwendig sein: | ||
− | |||
− | |||
* <tt>'''OnEnter'''</tt>: Der <tt>StateManager</tt> ruft diese Methode auf, wenn von einem anderen Zustand zu diesem Zustand gewechselt wird. Dadurch können z.B. Variablen zurückgesetzt, Eingangsanimationen gestartet oder ein Musikstück abgespielt werden. | * <tt>'''OnEnter'''</tt>: Der <tt>StateManager</tt> ruft diese Methode auf, wenn von einem anderen Zustand zu diesem Zustand gewechselt wird. Dadurch können z.B. Variablen zurückgesetzt, Eingangsanimationen gestartet oder ein Musikstück abgespielt werden. | ||
* <tt>'''OnLeave'''</tt>: Bei der Einleitung eines Zustandswechsels wird, bevor der neue Zustand gesetzt wird, <tt>OnLeave</tt> vom noch aktuellen Zustand aufgerufen. Dadurch können wichtige Nacharbeiten durchgeführt werden (Musik stoppen, Ressourcen freigeben, ...). | * <tt>'''OnLeave'''</tt>: Bei der Einleitung eines Zustandswechsels wird, bevor der neue Zustand gesetzt wird, <tt>OnLeave</tt> vom noch aktuellen Zustand aufgerufen. Dadurch können wichtige Nacharbeiten durchgeführt werden (Musik stoppen, Ressourcen freigeben, ...). |
Version vom 7. November 2011, 14:19 Uhr
Klicke hier, um diese Version anzusehen.