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

Unity – Wie du deine Gegner bewegst

Posted on 30. November 2023 By Claudia Wendt Keine Kommentare zu Unity – Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst

Erstelle zuerst ein Objekt, das als Gegner fungiert. Gebe deinem Gegner den Tag Enemy.

 

Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 11

Wenn Gegner und Figur kollidieren, ist ein Tag sinnvoll, da mit dem Script vermittelt werden kann, das nur Objekte mit dem Enemy-Tag als Gegner relevant sind.

Erstelle ein C#-Script mit dem Namen „Enemy“.

Werbung
Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 12

Öffne das Script in Visual Studio. Zuerst benötigt der Gegner eine Rigidbody-Componente:

private Rigidbody2D Rigidbody;

Jetzt benötigen wir die Awake-Funktion. Sie wird einige Zeit vor dem Start aktiv.

void Awake ( )

{

Rigidbody = GetComponent<Rigidbody2D>();

Werbung

}

Jetzt füge dem Gegner eine Rigidbody2D-Komponente in Unity hinzu.

Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 13

Ziehe jetzt das neue Script auf den Gegner.

Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 14

Die Bewegung vom Gegner

Jetzt soll der Gegner sich basierend auf einer Geschwindigkeit in eine bestimmte Richtung bewegen:

Wir benötigen: private float speed

public void Move (Vector 2 direction)

{

body.velocity = new Vector2(direction.x * speed, body.velocity.y);

}

Damit das private float spped-Feld im Inspektor erscheint, setzt du davor: [SerializeField]

Die Richtung des Gegners soll wechseln:

Wir benötigen:

private Vector2 movementDirection;

Jetzt wird Folgendes festgelegt:

movementDirection = direction;

Die direction.x tauschst du durch movementDirection.x aus.

Für den Richtungswechseln benötigst du die Update-Funktion:

Move(movementDirection);

Nach einer Bewegung in eine Richtung, kehrt der Gegner in die andere Richtung zurück.

Die Kollision mit Gegnern

Weiterhin muss der Gegner eine „Kollision entdecken“.

private void OnCollisionEnter2D(Collision2D collision)

{

if (collision.gameObject.CompareTag(„Enemy“))

{

movementDirection *= -1f;

}

Als movementDirection in der Awake-Funktion gib folgendes an:

movementDirection = Vector2.right;

Weiterhin benötigt er einen Collider. Füge einen passenden 2D-Collider hinzu.

Füge einen 2. kleineren Collider am oberen Abschnitt des Gegners hinzu. Der 2. Collider soll zugleich ein Auslöser sein. Der Collider soll den Gegner beseitigen, wenn der Spieler daraufspringt.

Das Spawnen von Gegnern

Erstelle mit dem Rechtsklick im Hierarchiefenster ein leeres Objekt und benenne es als Spawner.

Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 15

Die Gegner erscheinen, je nach Richtung des Spawners. Als nächstes benötigen wir ein SpawnerScript.

Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 16

Darin definierst du das Erscheinen der Gegner.

Zuerst benötigen wir dafür:

[SerializeField]

Durch das SerializeField erschienen die Prefabs direkt beim Spawner.

private Enemy[ ] enemies;

Du brauchst außerdem die Variable:

[SerializeField]

private float spawnTimeDelay, startSpawnDelay;

Damit legen wir die Spawnzeit und die Abstände zwischen dem Spawning fest.

Außerdem benötigen wir:

public bool completed;

Es legt den letzten Gegner für den Spawner fest. Die „Aufsicht“ über die Spawner hat der GameManger. Der completed-Abschnitt legt fest, das der Level abgeschlossen ist, wenn keine Gegner mehr in der Szene laufen und die Spawner aller Gegner in den Level sandten.

Jetzt wird eine Coroutine benötigt, für das Spawnen der Gegner.

Die Gegner sollen sich außerdem in eine bestimmte Richtung bewegen.

Zuletzt soll überprüft werden, ob das Spawning abgeschlossen ist.

Für die Coroutine ist ein IEnumorator notwendig. Unity bearbeitet Coroutines im Hintergrund. Zudem finden sie in jedem Frame statt:

private IEnumerator Spawn( )

Jetzt wird dem System gesagt, das es eine bestimmte Anzahl an Sekunden warten soll, bis der Gegner erscheint:

yield return new WaitForSeconds ( );

Wir warten auf startSpawnDeley:

yield return new WaitForSeconds (startSpawnDelay);

Für die Zeitangabe benötigen wir:

for (int i = 0; i < lenght; i++)

Jeder Gegner soll eine bestimmte Anzahl, nach einer bestimmten Zeit respawnen.

Deswegen kommt dazu: enemies.Lenght:

for (int i = 0; i < enemies.Lenght; i++)

Jetzt muss ein Verweis zu dem Gegner erstellt werden:

Enemy enemyInstance = Instantiate(enemies[i], transform.position);

Transform.position sagt dem System, das der Gegner beim Spawner erscheinen soll.

Quaternion.identity bezieht sich auf die Rotation.

Enemy enemyInstance = Instantiate(enemies[i], transform.position, Quaternion.identity);

Die Bewegung des Gegners lässt sich näher definieren:

enemyInstance.Move(transform.right);

Wir fügen yield return new WaitforSeconds(SpawnTimeDelay); ein weiteres Mal hinzu, diesmal mit SpawnTimeDelay.

Das bedeutet, jedes Mal, wenn ein Gegner erscheint, wartet Unity diese spezielle Zeit, bis zum nächsten Spawning.

Zuletzt muss das System überprüfen, ob das Spawning abgeschlossen ist:

completed = i >=enemies.Lenght – 1;

Zuletzt muss die Coroutnie gestartet werden:

void Start()

{

 StartCoroutine(Spawn());

}

Das Endscript für das Spawning sollte folgendermaßen aussehen:

Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 17

Im angehängten Spawnerscript kannst du die Spawnhäufigkeit jetzt einstellen:

Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 18

Per Drag & Drop kannst du die Gegner jetzt ins Spawner-Script ziehen:

Unity - Wie du deine Gegner bewegst
Unity - Wie du deine Gegner bewegst 19
Post Views: 1.042
Weitersagen:
Games und Lyrik

Beitrags-Navigation

Previous Post: Einblick in Girl Globe: Ein Modeabenteuer mit echtem Flair
Next Post: Age of Empires 2: Age of Kings

Related Posts

  • Tim und Struppi Cover
    Tim im Sonnentempel – Ein Tim und Struppi-Spiel Games und Lyrik
  • Verlockender Duft Games und Lyrik
  • Neue Razerblade Laptops für Gamer
    Neue Razer Blade Laptops für Gamer Games und Lyrik
  • Misadventures of Tron Bonne Cover
    The Misadventures of Tron Bonne Games und Lyrik
  • Marvel-Snap-Cover
    Marvel Snap Games und Lyrik
  • Heave Ho 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.627)
    • Action (70)
    • Adventure (433)
      • Point & Click-Adventure (16)
    • Ecke der verlorenen Spiele (13)
    • Horror (30)
    • Kinderfreundliche Games (3)
    • Partyspiele (9)
    • Puzzle (12)
    • Rollenspiele (111)
    • Shooter (346)
    • Simulation (26)
    • Sport (106)
      • Fußball (2)
      • Rennspiele (4)
    • Strategie (197)
    • Survival (6)
    • Wimmelbild (8)
  • Hardware (1)
  • Jump & Run (1)
  • Lyrik (112)
  • Spieleentwickler (371)
  • Spieleprogrammierung (29)
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

083993
Users Today : 10
Total views : 378277
Powered By WPS Visitor Counter

RSS Lets-Plays.de

  • Games als Training für reale Fähigkeiten
  • Evolution der Spielmechaniken

Ezoic

RSS GameStar – News

  • So atmosphärisch wie in Starcraft: Brood War sind Blizzard-Videos heute nur noch selten
  • One Battle After Another: Leonardo DiCaprios bereits viel gelobter neuer Film kommt schon in wenigen Tagen ins Kino
  • Die wahre Geschichte hinter Norman Bates und Leatherface – Neue True-Crime-Serie des Dahmer-Regisseurs erzählt von Serienkiller Ed Gein
TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste
blogwolke.de - Das Blog-Verzeichnis

Unsere Besucher

083993
Users Today : 10
Total views : 378277
Powered By WPS Visitor Counter
  • GameBCN Logo
    GameBCN: Katalysator der Spieleentwicklung in Barcelona Games und Lyrik
  • Deponia Cover
    Deponia: Erlebe das Abenteuer deines Lebens – Ein fesselndes Meisterwerk aus dem Hause Daedalic Entertainment! Point & Click-Adventure
  • nintendo-game-boy-mega-man-iv Cover
    Mega Man IV Shooter
  • Easter Egg
    Versteckte Schätze: Easter Eggs in Videospielen Games und Lyrik
  • Enshrouded Cover
    Enshrouded – Ein Überlebens-Action-RPG, das dich in den Nebel führt Adventure
  • Game Awards 2023 Cover
    Die Game Awards 2023 Games und Lyrik
  • Anthology of Fear Cover
    Anthology of Fear – Tauche ein in die albtraumhafte Welt der Angst Games und Lyrik
  • Edna bricht aus Cover
    Edna bricht aus! – Daedalic Entertainment entführt Spieler in ein unvergleichliches Abenteuer! Adventure

Copyright © 2025 Games und Lyrik.

Powered by PressBook News Dark theme