Kursinhalt
Kampfspiel in Unity
Kampfspiel in Unity
Den Code Erklären
Spieler Code
Initialisierung in der Start-Methode
Zweck: Speichert die anfängliche Position des Spielers, wenn das Spiel startet.
Zurücksetzen der Spielerposition
Zweck: Setzt die Position des Spielers auf die Startposition zurück und stoppt jede Bewegung, indem die Geschwindigkeit auf null gesetzt wird.
Verarbeitung der Spielereingabe in der Update-Methode
Zweck: Erfasst die Eingabe des Spielers (Leertaste), um den Spieler "springen" zu lassen, indem die y-Geschwindigkeit auf 6 gesetzt wird, während der Spieler ständig nach rechts bewegt wird, indem die x-Geschwindigkeit auf 4 gesetzt wird.
Kollisionsbehandlung
OnCollisionEnter2D
Zweck: Setzt die Position des Spielers zurück, wenn er mit Objekten kollidiert, die als "ground" markiert sind.
OnTriggerEnter2D
Zweck: Aktiviert das Gewinn-Panel und spielt einen Soundeffekt ab, wenn der Spieler mit Objekten kollidiert, die als "win" markiert sind.
Zusammenfassung
- Bewegung: Der Spieler bewegt sich kontinuierlich nach rechts und springt, wenn die Leertaste gedrückt wird;
- Neustart: Die Position des Spielers wird bei einer Kollision mit dem Boden zurückgesetzt;
- Gewinnen: Zeigt ein Gewinn-Panel an und spielt einen Ton ab, wenn der Gewinn-Auslöser erreicht wird.
SoundManager Klasse
Start Methode
Zweck:
Stellt sicher, dass es nur eine Instanz von SoundManager
im Spiel gibt, indem das Singleton-Muster verwendet wird. Verwendet DontDestroyOnLoad(gameObject)
, um über verschiedene Szenen hinweg bestehen zu bleiben.
PlayEffect Methode
Zweck:
Nimmt einen ganzzahligen index
, um zu identifizieren, welcher Soundeffekt aus der effects
-Liste abgespielt werden soll. Es wird überprüft, ob der index
innerhalb des gültigen Bereichs der effects
-Liste liegt und der angegebene Soundeffekt wird mit source.PlayOneShot(effects[index])
abgespielt.
Zusammenfassung
- Singleton-Muster: Stellt sicher, dass nur eine Instanz von
SoundManager
im Spiel existiert, die über Szenen hinweg bestehen bleibt; - Abspielen von Soundeffekten: Verwendet die
PlayEffect
-Methode, um Soundeffekte abzuspielen, indem ihr Index in dereffects
-Liste angegeben wird; - Audioquelle: Nutzt eine
AudioSource
-Komponente, um die Audioclips abzuspielen.
WinPanel Klasse
Die WinPanel
-Klasse bietet Funktionalität für das UI-Panel, das erscheint, wenn der Spieler gewinnt. Sie enthält Methoden, um zum Hauptmenü zurückzukehren oder das Level neu zu starten, wobei jeweils ein Soundeffekt abgespielt und die entsprechende Szene geladen wird.
Methoden
ReturnToMainMenu Methode
Zweck:
Spielt einen Soundeffekt (Index 0) mit SoundManager.instance.PlayEffect(0)
. Lädt die Hauptmenü-Szene mit Build-Index 0 mit SceneManager.LoadScene(0)
.
RestartLevel Methode
Zweck:
Spielt einen Soundeffekt (Index 0) mit SoundManager.instance.PlayEffect(0)
. Lädt die Spielszene mit dem Namen "Game" mit SceneManager.LoadScene("Game")
.
Danke für Ihr Feedback!