Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Spielerangriffe | Spielerverhalten
Kampfspiel in Unity
course content

Kursinhalt

Kampfspiel in Unity

Kampfspiel in Unity

1. Unity-Animationssystem
2. Spielerverhalten
3. Feindverhalten
4. Spiel Verbessern
5. Verbessere das Flappy Bird Spiel

book
Spielerangriffe

Gizmos

  • private void OnDrawGizmos(): Dies ist eine Methodendeklaration für den OnDrawGizmos-Callback, die angibt, dass Unity diese Methode automatisch aufruft, wenn Gizmos zur Visualisierung im Szenenansichtsfenster gezeichnet werden;
  • Gizmos.DrawLine(...): Dieser Code zeichnet eine Linie mit Gizmos. Es nimmt zwei Punkte als Argumente, um die Linie zu definieren;
  • transform.position: Dies repräsentiert die aktuelle Position des GameObjects, an das dieses Skript angehängt ist;
  • ((Vector2)transform.position + 4f * Vector2.right * localScale.x): Dies berechnet den zweiten Punkt der Linie. Es nimmt die aktuelle Position des GameObjects (transform.position) und fügt einen Vektor hinzu, der sich 4 Einheiten nach rechts erstreckt (4f * Vector2.right). localScale.x wird verwendet, um die Länge der Linie und die Richtung basierend auf dem Maßstab des GameObjects in der x-Achsen-Richtung anzupassen.

Insgesamt zeichnet dieser Code eine Linie in der Szenenansicht von der aktuellen Position des GameObject zu einem Punkt, der 4 Einheiten nach rechts liegt, wobei die Länge und Richtung basierend auf der Skalierung des GameObject in der x-Achsen-Richtung angepasst wird. Wir werden es verwenden, um den Angriffsbereich des Spielers zu visualisieren.

Angriffsskript

Wenn wir den Angriff initiieren, rufen wir die Funktion StartAttacking auf, die die Reichweite des Angriffs als Parameter übernimmt. Da jeder Angriff eine unterschiedliche Reichweite hat, wird er den Angriff beginnen und die Reichweite entsprechend einstellen.

In der Update-Funktion, wenn der Spieler angreift, erstellen wir einen RayCast, der vom Spieler ausgeht, in die Richtung, in die der Spieler schaut, mit einer Entfernung, die der Reichweite des Angriffs entspricht, und filtern nur die enemyLayer.

Wenn wir einen Feind treffen, debuggen wir vorerst ihren Namen, aber in Zukunft werden wir ihre Gesundheit abrufen und sie angreifen. Zusätzlich haben wir eine EndAttacking-Funktion, die unseren Angriff abschließen wird.

Animationsereignisse

Hinzufügen von Ereignissen

Im Animationsfenster von Unity können Sie Ereignisse zu Animationsclips an bestimmten Frames hinzufügen. Klicken Sie mit der rechten Maustaste auf die Animationskurve oder den Keyframe, um ein Animationsevent hinzuzufügen und die Funktion sowie optionale Parameter anzugeben.

Definition von Funktionen

Funktionen, die von Animationsevents aufgerufen werden sollen, müssen öffentlich sein. Das Animationsevent-System von Unity unterstützt optionale Float- und String-Parameter und ruft automatisch die angegebenen Funktionen während der Animationswiedergabe auf, um Animationen mit der Spielmechanik zu synchronisieren und verschiedene Aktionen auszulösen.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
We're sorry to hear that something went wrong. What happened?
some-alt