Skip to content

Beta

  • Inhalt
  • Gamesübersicht
  • Games & Lyrik Podcast
  • Pressezentrum und Media-Kit
  • Jobs
  • Veröffentlichte E-Books
  • Impressum
    • Datenschutzerklärung
    • Disclaimer
  • Cookie-Richtlinie (EU)
  • Toggle search form
  • Cyberun Games und Lyrik
  • Inspectorfenster
    Animationen in Unity Spieleprogrammierung
  • Battle Ages
    Battle Ages Strategie
  • Barro
    Barro Rennspiele
  • Street Fighter Alpha 3 Cover
    Street Fighter Alpha 3 Games und Lyrik
  • Intruder Cover
    Intruder – Spion gegen Wachen Games und Lyrik
  • The Rude Awakening
    The Rude Awakening Adventure
  • Fiend Games und Lyrik

Einen Level Gewinnen

Posted on 10/06/2020 By Claudia Wendt Keine Kommentare zu Einen Level Gewinnen

Um einen Level zu beenden benötigst du einen Auslöser. Erstelle dafür einen Würfel und skalliere ihn, wie du ihn benötigst.

Wähle die Y-Achse aus und wechsel mit dem Würfel in die isometrische Ansicht. Ziehe deinen Quader, ans Ende vom Level bzw. dorthin, wo der Level enden soll.

Bezeichne ihn beispielsweise mit End. Da der Auslöser im Spiel nicht gesehen werden soll, deaktiviere den Mesh Renderer. Beim Collider muss „is Trigger“ aktiviert sein.

Wähle im Inspectorfenster ein farbliches Icon aus, damit du die Box noch erkennen kannst.

Ist das Icon nicht zu sehen, öffne die Gizmos in Unity und aktiviere die 3D-Icons mit dem Slider und verschiebe den Regler. Dann erkennst du deinen Auslöser, auch wenn er unsichtbar ist.

Erstelle ein Script namens EndTrigger.

Der Auslöser wird mit

void OnTriggerEnter ( ) entdeckt

Jetzt wird eine Referenz zum GameManager benötigt.

Du erstellst eine Variable: public GameManager gameManager;

Mit dem Bezug auf GameManager, benötigst du im GameManager eine neue Funktion. Deswegen öffnest du jetzt das Script vom GameManager.

Darin erstellst du eine neue Variabe:

public void CompleteLevel ( )

Damit hast du im GameManager eine neue Funktion erstellt:

Diese Funktion kannst du jetzt im EndTrigger-Script aufrufen:

gameManager.CompleteLevel( );

Das TriggerScript sieht jetzt folgendermaßen aus:

Jetzt ziehst du den GameManager in den freien Platz vom Script.

Da momentan nur in der Konsole eine Nachricht erscheint, müssen wir für den Spieler jetzt ein UI erstellen.

Erstelle deswegen in Canvas ein UI-Panel. Wechsel in den 2D-Modus und fokussiere dich mit F darauf. Entferne das Hintergrundbild, damit das UI durchsichtig ist.

Benenne es mit LevelComplete. Füge mit einem Rechtsklick und UI Text hinzu.

Passe die Begrenzungen für deinen Text an. Zentriere ihn schließlich. Ändere die Schriftart. Steigere die Schriftgröße auf z. B. 100

Ändere den Text zu Level. Benenne auch das TextObjekt als Level. Dupliziere das Objekt und benenne es als Complete. Stelle die 2. Schrift nach Bedarf ein. Markierst du beide Objekte gleichzeitig, kannst du sie zusammen verschieben.

Am Ende deaktiviere „Level Complete“.

Wieder wird im GameManager eine Referenz benötigt.

Diese schaffst du mit einer neuen Variable:

public GameObject completeLevelUI;

Desweiteren ergänzt du die Fuktion jetzt unter

public void CompleteLevel ( )

{

completeLevelUI.SetActive(true);

Damit aktivierst du die Funktion.

Das Script sieht jetzt folgendermaßen aus:

Ziehe LevelComplete jetzt in den GameManager.

Wenn du den Level beendest erscheint jetzt Level Complete.

Als nächstes bauen wir eine Animation mit ein. Aktiviere erst einmal die UI wieder. Jetzt benötigst du das Animationsfenster.

Erstelle einen Ordner für die Animation. Benenne die neue Animation mit „LevelComplete“. Im Projektordner findest du jetzt zwei Assets.

Das erste ist die Animation selbst. Deaktiviere Loop, da die Animation nur einmal abgespielt werden soll.

Das zweite ist der Animation Controller, der im Animator erscheint. Mit dem Animator lassen sich komplexe Animationen zusammenbauen und verknüpfen.

Die Animation LevelComplete ist orange unterlegt. Dies bedeutet, dass sie als erste Animation abgespielt wird, wenn der Level abgeschlossen ist.

Gehe zurück zum Animationsfenster. Ist der Record-Mode bzw. der Aufnahmemodus aktiviert, nimmt das System jede Veränderung am Objekt als Keyframes auf.

Wähle beispielsweise 1:00 und setze den Alphamodus der Farbe runter. Automatisch wird am Anfang ein Keyframe erstellt, bei dem der Alphamode noch komplett ist. Wechsel die Position der Keyframes aus. Dadurch erscheint das Level Complete under Alphamode steigert sich dabei. Gehe ungefähr zu 0:50 und senke den Alphamodus für die Farben der Schrift vom UI. Vertausche die entsprechenden Keyframes mit den Vordersten.

Deaktiviere wieder die LevelComplete UI. Am Ende des Levels müsste jetzt das UI Level Complete anzeigen.

Nach ein par Sekunden soll jetzt der neue Level nach ein par Sekunden geladen werden. Füge dafür ein Event kurz vor der 2-Sekunden-Marke hinzu.

Das Animationsevent erlaubt es, eine Funktion zu wählen.

Wir benötigen ein Script für das LevelComplete-Objekt. Dieses Script lädt einen neuen Level. Nenne die neue Komponente: LevelComplete.

Füge in das neue Script:

public void LoadNextLevel( )

ein.

Jetzt kannst du als Funktion LoadNextLevel auswählen.

Immer wenn die Animation an diesen Punkt kommt, wird die neue Szene geladen.

Anschließend soll die Szene wechseln.

Dafür benötigst du den Szenenmanager:

using UnityEngine.SceneManagement;

Unter public void kommt:

SceneManager.LoadScene( )

Jetzt soll immer nur die entsprechende Szene geladen werden. Jedoch hängt die Szene, die geladen werden soll, vom Level ab. Zum Laden wird deshalb der BuildIndex verwendet.

Unter File –> Build Settings zeigt dir Unity deine Szenen an. Gegebenenfalls musst du sie noch hineinziehen. Am Ende wird der Build Index angezeigt. Unity soll die Szene dem Buildindex entsprechend laden bzw. die aktuelle Szene+1.

Unter public void LoadNextLevel kommt:

SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);

Das Script sieht folgendermaßen aus:

Sorge dafür, dass im Nachhinein immer eine neue Szene steht, da Unity sonst einen Fehler anzeigt.

Spieleprogrammierung Tags:Unity

Beitrags-Navigation

Previous Post: Assetto Corsa
Next Post: Das Spiel in Unity fertig stellen

Related Posts

  • Corel Painter Arbeitsbereich
    Corel Painter Spieleprogrammierung
  • zwei-Collider
    Die Spielfigur mit dem Character Controller bewegen Spieleprogrammierung
  • Unity – Grundlegende UI-Elemente erstellen Spieleprogrammierung
  • Lichteffekte0
    2D Licht und Schatten in Unity Spieleprogrammierung
  • Knotenarbeitsbereich
    Was ist der Visual Effect Graph in Unity? Spieleprogrammierung
  • Text Mesh Pro
    TextMesh Pro Spieleprogrammierung

Schreibe einen Kommentar Antwort abbrechen

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

Archives

  • November 2023
  • August 2023
  • Juli 2023
  • April 2023
  • März 2023
  • Februar 2023
  • Januar 2023
  • Dezember 2022
  • November 2022
  • Oktober 2022
  • September 2022
  • August 2022
  • Juli 2022
  • Juni 2022
  • Mai 2022
  • April 2022
  • März 2022
  • Februar 2022
  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021
  • August 2021
  • Juli 2021
  • Juni 2021
  • Mai 2021
  • April 2021
  • Februar 2021
  • Januar 2021
  • Dezember 2020
  • November 2020
  • Oktober 2020
  • September 2020
  • August 2020
  • Juli 2020
  • Juni 2020

Categories

  • Action
  • Adventure
  • Adventure Escape
  • Brettspiele
  • Games und Lyrik
  • Geschicklichkeit
  • Hack and Slash
  • Horror
  • Kartenspiele
  • Liebe
  • Lyrik
  • Point-and-Click-Adventure
  • Puzzle
  • Rennspiele
  • Rogue-like
  • RPG
  • Shoot Em Up
  • Shooter
  • Simulation
  • Spieleentwickler
  • Spieleprogrammierung
  • Sport
  • Strategie
  • Survival
  • Textadventure
  • Tower-Defense
  • Uncategorized
  • Wimmelbild
  • Wirtschaftssimulation

Recent Posts

  • ProtoCorgi
  • Rosewater
  • Prim
  • Soccer Story
  • Application Systems Heidelberg

Recent Comments

  1. A WordPress Commenter zu Hello world!
  2. Rita zu Catch me!
  3. cvd zu Heart of Muriet
  4. cvd zu Heart of Muriet
  5. Gordon zu Jasper and the City of Lights
  • Solasta – Crown of the Magister Games und Lyrik
  • Benu
    Benu Lyrik
  • A Boy and his Blob Cover
    A Boy and his Blob – Trouble on Blobolonia Action
  • Bubble Bobble 2 Cover
    Bubble Bobble 2 Action
  • Candle Screenshot
    Beschworen Lyrik
  • Barbie_NES_box_art
    Barbie Action
  • Bandai Namco Logo
    Bandai Namco Spieleentwickler
  • Life of Delta Cover
    Life of Delta Adventure

Copyright © 2025 Beta.

Powered by PressBook News Dark theme