Kursinhalt
Kampfspiel in Unity
Kampfspiel in Unity
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.
Danke für Ihr Feedback!