Skip to content
Versunken

Games und Lyrik

Von Spielen inspiriert

  • Inhalt
  • Gamesübersicht
  • Games & Lyrik Podcast
  • Pressezentrum und Media-Kit
  • Jobs
  • Shops
    • E-Books
    • Cosplay
  • Impressum
    • Cookie-Richtlinie (EU)
    • Datenschutzerklärung
    • Disclaimer
  • Kasse
  • 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
Game Over in Unity 10

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
Game Over in Unity 11

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
Game Over in Unity 12

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
Game Over in Unity 13

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
Game Over in Unity 14

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
Game Over in Unity 15

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
Game Over in Unity 16

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
Game Over in Unity 17

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

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

Beitrags-Navigation

Previous Post: Airhead
Next Post: Bugs Bunny Birthday Blowout

Related Posts

  • DeathRun TV Cover
    DeathRun TV Games und Lyrik
  • Gatewalkers Cover
    Gatewalkers Games und Lyrik
  • Tropico 5
    Tropico 5 Games und Lyrik
  • Green Hell
    Green Hell Games und Lyrik
  • Spin Rhythm Screenshot0
    Spin Rhythm XD Games und Lyrik
  • Sins of a Solar Empire
    Sins of a Solar Empire Games und Lyrik

Schreibe einen Kommentar Antworten 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.

  • Games und Lyrik (2.611)
    • Action (65)
    • Adventure (431)
      • Point & Click-Adventure (16)
    • Ecke der verlorenen Spiele (13)
    • Horror (30)
    • Kinderfreundliche Games (3)
    • Partyspiele (9)
    • Puzzle (12)
    • Rollenspiele (110)
    • Shooter (346)
    • Simulation (26)
    • Sport (106)
      • Fußball (2)
      • Rennspiele (4)
    • Strategie (197)
    • Survival (6)
    • Wimmelbild (8)
  • Hardware (1)
  • Lyrik (112)
  • Spieleentwickler (368)
  • Spieleprogrammierung (28)
Werbung

Action Adventure Capcom Daedalic Deck 13 Devcom 2020 Ecke der verlorenen Spiele Gamescom 2019 Gamescom 2020 Gamescom 2021 Gamescom 2023 GB GBA GBC Horror Indie Arena Booth 2022 Jump & Run Kalypso Media Mega Man N64 NDS NES Nintendo DS 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

0 Artikel - 0,00€

Unsere Besucher

083828
Users Today : 5
Total views : 373910
Powered By WPS Visitor Counter

RSS Lets-Plays.de

  • Spiele für das soziale Wohl
  • Effektives Gehirnjogging für mentale Stärke

Ezoic

RSS GameStar – News

  • Raumfahrt - SpaceX hat mit dem Starship bereits Unglaubliches geschafft. Das Problem: Die Angestellten zahlen den Preis
  • Das Ding der gamescom: Planetenverteidigungskanonenkommandant hebt den Begriff Techniksimulation auf ein ganz neues Level
  • Baldur's Gate 3 - »Auf perverse Art fasziniert von Indie-Spielen« - Ein Entwickler von Larian rechnet gerade mit den wirklich großen Studios ab
TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste
blogwolke.de - Das Blog-Verzeichnis

Unsere Besucher

083828
Users Today : 5
Total views : 373910
Powered By WPS Visitor Counter
  • Armour and Argent Screenshot
    Armour and Argent Adventure
  • Monkey Island 2 Cover
    Monkey Island 2: LeChuck’s Revenge – Dein nächstes episches Abenteuer wartet Point & Click-Adventure
  • Adventures in the Magic Kingdom - Cover
    Disney Adventures in the Magic Kingdom Games und Lyrik
  • Gamescom 2022 Cover
    Das Besondere an der Gamescom 2022 Games und Lyrik
  • Van Helsing Cover
    The Incredible Adventures of Van Helsing Games und Lyrik
  • Memoria Cover
    Das Schwarze Auge: Memoria – Enthülle Ungeahnte Geheimnisse: Tauche tief in das Magische Abenteuer ein Point & Click-Adventure
  • Witchtastic Cover
    Witchtastic Shooter
  • How to Survive 1 Screenshot
    How to survive – Überleben in der Zombieapokalypse Games und Lyrik

Copyright © 2025 Games und Lyrik.

Powered by PressBook News Dark theme