wulf Posted August 24, 2025 at 11:08 AM Posted August 24, 2025 at 11:08 AM Charakter-Zustandsmaschine (Character State Machine) Die Charakter-Zustandsmaschine (State Machine) ist das Herzstück der Logik für die Spielerbewegung. Sie stellt sicher, dass sich dein Charakter immer in einem bestimmten Zustand befindet (z. B. Laufen, Springen, Wandrutschen) und nur unter vordefinierten Bedingungen von einem Zustand in den nächsten wechseln kann. Das verhindert logische Konflikte, wie zum Beispiel, dass der Charakter gleichzeitig springt und rennt. Beispiel für Zustände: Idle (untätig): Der Charakter steht still. Walking (laufen): Der Charakter bewegt sich auf dem Boden. Jumping (springen): Der Charakter befindet sich in der Luft und steigt auf. Falling (fallen): Der Charakter befindet sich in der Luft und sinkt. Wall Sliding (Wandrutschen): Der Charakter rutscht eine Wand hinunter. Wall Jumping (Wandsprung): Der Charakter stößt sich von einer Wand ab. Climbing (klettern): Der Charakter steigt eine Leiter oder Treppe hoch. Die Übergänge zwischen diesen Zuständen werden durch Events (Ereignisse) ausgelöst. Wenn der Spieler die Sprungtaste drückt, wechselt der Charakter von Walking zu Jumping. Wenn er eine Wand berührt, während er fällt, wechselt er zu Wall Sliding. Wandspringen und Wandrutschen (Wall Jump and Wall Sliding) Wandrutschen (Wall Sliding) ist die Grundlage für das Wandspringen. Wenn der Charakter eine vertikale Oberfläche berührt, während er fällt oder sich auf sie zubewegt, wird seine Abwärtsbewegung verlangsamt. Die Implementierung erfordert: Erkennung der Wand: Du musst ständig prüfen, ob dein Charakter eine Wand berührt. Dies kann mit Raycasts oder Box/Circle-Casts erfolgen, die vom Charakter aus horizontal in Bewegungsrichtung gesendet werden. Abwärtsgeschwindigkeit reduzieren: Sobald eine Wand erkannt wird, reduzierst du die Schwerkraft, die auf den Charakter wirkt, oder setzt seine vertikale Geschwindigkeit auf einen geringeren, konstanten Wert. Dies erzeugt den Effekt des Rutschens. Wandspringen (Wall Jump) ist die Aktion, die vom Wandrutschen-Zustand aus eingeleitet wird. Wenn sich der Charakter im Zustand Wall Sliding befindet und der Spieler die Sprungtaste drückt, wird er in die entgegengesetzte Richtung von der Wand weggestoßen, oft mit einer zusätzlichen vertikalen Kraft. Treppensteigen (Stair Climbing) Das Treppensteigen kann auf verschiedene Arten implementiert werden, je nach gewünschtem Stil des Spiels. Automatisches Anpassen: Die einfachste Methode ist, eine kleine Raycast- oder Box-Collision vor dem Charakter zu verwenden. Trifft dieser Raycast auf eine Treppenstufe, wird die vertikale Position des Charakters leicht angehoben, sodass er nahtlos auf die nächste Stufe "hochlaufen" kann, ohne dass der Spieler die Sprungtaste drücken muss. Manuelles Treppensteigen: Alternativ kann man Treppen als Leitern behandeln. Der Charakter wechselt in einen Climbing-Zustand, sobald er die Treppe berührt und der Spieler eine "klettern"-Taste drückt. In diesem Zustand kann der Spieler den Charakter manuell nach oben oder unten bewegen, und er haftet an der Treppe, bis er die Oberseite erreicht oder loslässt. Die Kombination dieser Mechaniken in einer gut organisierten Zustandsmaschine ist entscheidend, um ein reaktionsfreudiges und flüssiges Spielgefühl zu schaffen. Platformer.c3p 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now