Kursinhalt
Kampfspiel in Unity
Kampfspiel in Unity
UI-Lebensanzeige
Die Player-Klasse enthält Code, um die Gesundheitsbalken-Benutzeroberfläche basierend auf der aktuellen Gesundheit des Spielers zu aktualisieren. Dies wird durch drei Variablen verwaltet: UIHealthTransform
, HealthUIScale
und startingHealthUIWidth
. Unten ist eine Erklärung, wie diese Variablen verwendet werden, um den Gesundheitsbalken zu verwalten.
Skript für die Gesundheitsleiste
Initialisierung in der Start-Methode
In der Start
-Methode wird die anfängliche Größe der Gesundheitsleiste erfasst und gespeichert.
Gesundheitsaktualisierung in der GetAttacked-Methode
Die GetAttacked
-Methode aktualisiert die Gesundheitsleiste der Benutzeroberfläche, wann immer der Spieler Schaden nimmt.
Gesundheitsreduktion:
Die Gesundheit des Spielers wird um die Menge des erlittenen Schadens reduziert.
Berechnung der Skalierung der Gesundheitsleiste:
Erklärung
Diese Codezeile aktualisiert die Breite der Gesundheitsleiste basierend auf der aktuellen Gesundheit des Spielers. So funktioniert es:
Gesundheit:
health
ist ein Float, der die aktuelle Gesundheit des Spielers darstellt. Nehmen wir an, es reicht von 0 bis 100.
Anfangsbreite der Gesundheitsleiste:
startingHealthUIWidth
ist ein Float, der die anfängliche Breite der Gesundheitsleiste darstellt, wenn der Spieler volle Gesundheit hat.
Skalierung der Breite der Gesundheitsleiste: Das Ziel ist es, die Breite der Gesundheitsleiste proportional zu reduzieren, wenn die Gesundheit des Spielers abnimmt; Um dies zu erreichen, müssen Sie berechnen, welcher Prozentsatz der Gesundheit des Spielers verbleibt, und dann diesen Prozentsatz auf die anfängliche Breite der Gesundheitsleiste anwenden.
Schritt-für-Schritt-Berechnung
Prozentsatz der verbleibenden Gesundheit:
Teilen Sie die aktuelle Gesundheit durch 100, um einen Wert zwischen 0 und 1 zu erhalten, der den Prozentsatz der verbleibenden Gesundheit des Spielers darstellt. Zum Beispiel, wenn die Gesundheit des Spielers 75 beträgt, würde health / 100f
0.75
ergeben.
Diese Berechnung übersetzt den Gesundheitswert in ein Prozentsatzformat, das für die UI-Darstellung geeignet ist.
Prozentsatz auf die anfängliche Breite anwenden:
Multiplizieren Sie den Prozentsatz der verbleibenden Gesundheit mit der anfänglichen Breite der Gesundheitsleiste. Zum Beispiel, wenn die startingHealthUIWidth
200 beträgt (die volle Breite) und die Gesundheit des Spielers 75% beträgt, wäre die neue Breite der Gesundheitsleiste 150 Einheiten (0.75 * 200 = 150
).
Durch diese Berechnung wird die Breite der Gesundheitsleiste dynamisch und genau die aktuelle Gesundheit des Spielers darstellen und bietet dem Spieler ein klares visuelles Feedback.
Aktualisiere die Gesundheitsbalken-UI:
Die Größe des RectTransform
, das den Gesundheitsbalken darstellt, wird aktualisiert.
Überprüfung auf Spielertod:
Wenn die Gesundheit auf 0 oder darunter fällt, wird der Spieler als tot markiert, und die Todesanimation und Partikel werden ausgelöst.
Zusammenfassung der Funktionalität der Gesundheitsbalken-UI
Initialisierung: Die anfängliche Größe des Gesundheitsbalkens wird zu Beginn erfasst.
Aktualisierung des Gesundheitsbalkens: Wenn der Spieler Schaden nimmt, wird der Gesundheitswert verringert und die Breite des Gesundheitsbalkens entsprechend neu berechnet und aktualisiert.
Spielertod: Wenn die Gesundheit null erreicht, wird der Spieler als tot markiert, was die Todesanimation und Partikel auslöst und das Spiel beendet.
Danke für Ihr Feedback!