Level neu laden wenn Charakter das Spielfeld verlässt

Wie man ein Level neu laden kann wenn der Charakter das Spielfeld verlässt oder dieser ein Leben verliert zeige ich euch in diesem kleinen Tutorial.

Für dieses Beispiel benötigen wir ein Terrain, eine Plane und natürlich unseren Charakter.
Die Einstellungen für das Terrain und die Plane können Sie auf den folgenden Bildern erkennen.
Wichtig ist nur dass die Plane größer als das Terrain ist und knapp unter dem Terrain liegt.

script: fallout.js

#pragma strict

var currentLevel: int = 0;
private var dead = false;

function OnControllerColliderHit(hit: ControllerColliderHit)
{
  //Charakter stirbt wenn es auf einem Objekt mit dem tag "fallout" trifft
  if(hit.gameObject.tag == "fallout")
  {
    dead = true;
  }
}

function LateUpdate()
{
  //Tot - Charakter an Ausgangspunkt des Spiels zurück bringen
  if(dead)
  {
    Application.LoadLevel(nextLevel);
    dead = false;
  }
}

Damit unser Spiel nun erkennt wenn der Charakter das Spiel verlässt, müssen wir das script fallout.js unserem Charakter zuweisen. Dazu wählen wir den Charakter in der Hierarchy-Ansicht und ziehen das Script aus der Project-Ansicht in den Inspector. Im Inspector können Sie nun gleich die Nummer des aktuellen Levels angeben. Damit das funktioniert muss das Level natürlich erst mal über „File->Build Settings“ bekannt gemacht werden. Sollte die aktuelle Scene also noch nicht im oberen Fenster auftauchen, klicken Sie einfach auf den Button „Add Current“. Hinter dem Namen der Scene steht eine Nummer. Diese Nummer können Sie im Inspector hinter „currentLevel“ eingeben.

Was jetzt noch fehlt ist das „taggen“ der plane. Wie wir im script in der Funktion „OnControllerColliderHit“ sehen, wird bei der Collision des Charakters mit einem anderen Objekt geprüft ob das andere Objekt das tag „fallout“ enthält. Sollte ds der Fall sein wird die Variable dead auf true gesetzt. Die Funktion LateUpdate erkennt nun dass die Variable dead auf true gesetzt wurde, lädt entsprechend das Level neu und setzt die Variable wieder auf false.

Ein tag können wir vergeben indem wir dieses im Inspektor-Fenster ganz oben unter dem Namen auswählen. Sollte nun aber noch kein tag mit dem Namen „fallout“ vorhanden sein, so können wir dies leicht erstellen indem wir im Menü „Edit->Project Settings->Tags“ anklicken. Im Inspektor-Fenster sehen wir nun folgendes. Um nun also ein neues tag anzulegen, geben wir einfach den Namen des tags ein. Anschließen nicht vergessen dieses auch zuzuweisen.

Dieses Script in Aktion sehen

Über Enrico S.

Programmierer, Webdesigner, Grafiker, Blogger, Screencaster, Arduino- und eMobility Enthusiast.

Kommentare geschlossen.