Skip to content
Versunken

Games und Lyrik

Von Spielen inspiriert

  • Inhalt
  • Über uns
  • Shop
    • Mein Konto
    • Kasse
    • Warenkorb
  • Games & Lyrik Podcast
  • Pressezentrum und Media-Kit
  • Jobs
  • Impressum
    • AGBs
    • Datenschutzerklärung
    • Disclaimer
  • 0 Artikel0,00 €
  • Toggle search form

Game Over in Unity

Posted on 15. November 202217. November 2022 By Claudia Wendt Keine Kommentare zu Game Over in Unity
Game Over in Unity

Game Over lässt sich ungünstig über ein Spieleobjekt definieren. Sinnvoll ist dafür ein Spielemanager.

Erstelle im Hierarchiefenster ein Object, wähle mit der rechten Maustaste die Transformkomponente im Inspectorfenster und setze es auf Reset. Anschließend benenne das Objekt als GameManager.

Game Over in Unity

Füge eine neue Komponente hinzu und nenne sie GameManager. Diese Komponente ist dafür verantwortlich, Stati im Spiel zu verändern. Über den Game Manager lässt sich das Spiel starten, beenden oder neu starten. Auch ein Scorecounter lässt sich platzieren. Zielsetzung vom neuen Script ist es in diesem Fall, das Spiel neu zu starten, wenn du Game Over gehst.

Werbung

Erstelle eine eigene neue Funktion:

void Endgame

Du benötigst eine Möglichkeit, auf den GameManager zuzugreifen und die Funktion aufzurufen.

Game Over in Unity

Mit dem Zusatz Debug.Log(„GAME OVER“); sendest du an die Unity-Konsole „Game Over als Ausgabe und siehst, ob die Funktion zum richtigen Zeitpunkt aufgerufen wird.

Um auf die Funktion zugreifen zu können, benötigst du das Player Collision Script vom Spieler.

Füge dort eine Komponente für den Game Manager ein:

Werbung

public GameManager GameManager;

Als nächstes erstelle von deiner Spielfigur ein Prefab. Lösche anschließend den Spieler aus deiner Szene. Ziehe den Spieler wieder in die Szene und du siehst, dass der Spieler nicht mit dem GameManager verknüpft ist.

Game Over in Unity

Im Endeffekt benutzt man in diesem Fall keine Variable, sondern löscht diese wieder.

Du benutzt zum Finden des GameManager:

FindObjectOfType<GameManager>( );

Dies fügst du an der Stelle ein, an welcher das Spiel beendet werden soll.

Eine ähnliche Funktion hat: GetComponent<>

Ändere im Script vom GameManager

void Endgame

zu

public void Endgame

Jetzt kannst du die Änderung im PlayerCollision-Script vornehmen.

Bei der MainCamera und beim TextCanvas musst du jetzt den Player hineinziehen, damit eine Referenz zum Player geschaffen wird. Ansonsten bekommst du eine Fehlermeldung.

Zusätzlich soll Game Over angezeigt werden, wenn der Charakter beispielsweise von einer Plattform fällt.

Die Voraussetzung wird im PlayerMovement-Script geschaffen. Wenn der Spieler auf einer Achse unter einem bestimmten Wert ist, wird Game Over angezeigt.

Im PlayerMovement-Script ergänze dies bei FixedUpdate:

if (rb.position.y < -1f)

{

FindObjectOfType<GameManager>( ).Endgame( );

}

Das PlayerMovement-Script sieht dann folgendermaßen aus:

Game Over in Unity

Jetzt soll Game Over nur einmal angezeigt werden.

Dafür wird eine Änderung im GameManager vorgenommen:

bool gameHasEnded = false;

Unter public voide kommt:

if (gameHasEnded == false)

{

gameHasEnded = true;

Debug.Log(„Game Over“);

}

Damit endet das Spiel nur einmal:

Game Over in Unity

Zuletzt soll das Spiel neu gestartet werden:

Dies wird im GameManager eingefügt:

void Restart ( ) benötigst du als separate Funktion.

Unter Debug.Log fügst du:

Restart( );

Eine weitere Funktion, die du unter using UnityEngine einfügst ist:

using UnityEngine.SceneManagement;

Dies wird für andere Szenen verwendet oder für den Szenenneustart.

Jetzt fügst du in die geschweiften Klammern unter void Restart ein:

SceneManager.LoadScene(SceneManager.GetActiveScene().name);

Dies bedeutet, dass du die aktive Szene vom Scene Manager neu lädst.

.name steht für den aktuellen Namen deiner Szene.

Game Over in Unity

Der Neustart vom Spiel vollzieht sich zur Zeit sehr schnell.

Deswegen öffnen wir Lighting in Unity. Veränderst du etwas an deinem Spiel, macht es Sinn, die Lichteffekte neu berechnen zu lassen. Wähle Build Lighting.

Game Over in Unity

Jetzt verwendest du neue Parameter:

Ersetze Restart durch Invoke („Restart“) im GameManager-Script. Dahinter setzt du die Zeit, die vergehen soll, bis die Funktion „Restart“ aufgerufen wird.

Invoke („Restart“, 2f);

Die Verzögerung wird jetzt zu einer Variablen gemacht.

Unter bool füge hinzu:

public float restartDelay = 1f;

Anstelle der 2f unten, setzt du jetzt die Variable.

Das fertige Script sieht folgendermaßen aus:

Game Over in Unity

Originally posted 2020-06-08 18:56:00.

Post Views: 1.994
Weitersagen:
Games und Lyrik Tags:Unity

Beitragsnavigation

Previous Post: Airhead
Next Post: Bugs Bunny Birthday Blowout

Related Posts

  • Barro
    Barro Games und Lyrik
  • Unity – Grundlegende UI-Elemente erstellen Games und Lyrik
  • SYNK
    SYNK: Revolutioniere die Content-Erstellung mit Echtzeit-Technologie Games und Lyrik
  • Mega Man Battle Network Cover Cybeast Falzar
    Mega Man Battle Network 6 Games und Lyrik
  • All Star Tennis 99 Cover
    All Star Tennis 99 Games und Lyrik
  • Drova
    Drova – Forsaken Kin Games und Lyrik

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.

Unsere Besucher

089155
Users Today : 3
Total views : 407154
Powered By WPS Visitor Counter
  • Games und Lyrik (2.718)
    • Action (82)
    • Adventure (460)
      • Point & Click-Adventure (16)
    • Ecke der verlorenen Spiele (16)
    • Horror (35)
    • Kinderfreundliche Games (5)
    • Partyspiele (9)
    • Puzzle (17)
    • Rollenspiele (115)
    • Shooter (346)
    • Simulation (30)
    • Sport (113)
      • Fußball (5)
      • Rennspiele (6)
    • Strategie (200)
    • Survival (9)
    • Wimmelbild (8)
  • Hardware (2)
  • Jump & Run (1)
  • Lyrik (112)
  • Spieleentwickler (431)
  • Spieleprogrammierung (42)

Action Adventure Capcom Daedalic Deck 13 Devcom 2020 Ecke der verlorenen Spiele Gamescom 2019 Gamescom 2020 Gamescom 2021 Gamescom 2023 Games from Spain GB GBA GBC Horror Indie Arena Booth 2022 Jump & Run Kalypso Media Mega Man N64 NDS NES Nintendo Switch PC PS1 PS2 PS3 PS4 PS5 PSP Rareware Rennspiel Sega Shooter SNES State of Play Strategie Switch Unity Visual Novel VR Windows Xbox XBox One

Cosplay-Schnittmuster

  • 4aac262c139a4e212001b664f074186f Zwischen uns die Liebe - Hayabusa - Taschenbuch - Manga - Carlsen 2025 3,00 €
  • bfc951051e7692d92864e7cd8d24dedc 10 verschiedene Pokemonkarten mit Flurmel 117/168 Re-Holo Sturm am Firmament 2,00 €
  • 6ed7893a92ea3354d3b940609642df04 10 verschiedene Pokemonkarten mit Schneckmag 23/168 Re-Holo Sturm am Firmament 2,00 €

RSS Lets-Plays.de

  • Garena Free Fire Gameplay perfektionieren
  • Tipps für schnelle Only Up Speedruns

Ezoic

RSS GameStar – News

  • Der Astronaut - »Bist du in einem Vulkan?« Ryan Gosling sorgt sich in einem Interview mehr um den in der Wüste gestrandeteten Journalisten als darum, seinen Film Project Hail Mary zu promoten
  • Das Historien-Strategiespiel Old World schickt euch noch diesen Monat mit einem großen DLC nach Indien
  • Das neue Spiel zu Battlestar Galactica steuert nach verhaltenem Demo-Feedback unerschüttert auf den Release zu
TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste
blogwolke.de - Das Blog-Verzeichnis
  • Jupiter Hell Cover
    Jupiter Hell Games und Lyrik
  • Rockfaller
    Rockfaller Journey Games und Lyrik
  • 3D Dot Game Heroes Cover
    3D Dot Game Heroes Games und Lyrik
  • The Last Whale Singer: Rise of the Leviathan Cover
    The Last Whale Singer: Rise of the Leviathan – Ein musikalisches Abenteuer in den Tiefen des Ozeans Adventure
  • Crusader Kings 3
    Crusader Kings 3 jetzt auf Konsole erhältlich Games und Lyrik
  • Archaica Cover
    Archaica – The Path of Light Games und Lyrik
  • Knight Lore
    Knight Lore Games und Lyrik
  • The Book of Unwritten Tales 2
    The Book of Unwritten Tales 2 Games und Lyrik

Copyright © 2026 Games und Lyrik.

Powered by PressBook News Dark theme