Schritt 12: Statistiken und Endbedingung
Fügen Sie ein neues Skript namens Spieler in den Ordner "Scripts".
Der folgende Code wird dem Spieler erlauben, beschädigt werden und das Spiel neu starten, wenn der Spieler getötet wird.
/ / Die Anzahl der Wiederholungen der Spieler beschädigt werden, kann bevor das Spiel startet neu
VarHealth:int = 10;Minimale Anzahl von Sekunden zwischen der Spieler verletzt
VarDamageInvulnerabilityDelay:float = 2;Behält die Übersicht über das letzte Mal der Player beschädigt wurde
PrivatevarinvulnerabilityStartTime:float;{functionStart()}
Anfangswert gesetzt, so dass der Spieler zeitweise unverwundbar am Spawn ist
invulnerabilityStartTime=Time.time;
}Den Spieler um die angegebene Anzahl an Trefferpunkten beschädigt
FunctionHurt(damage:int) {}
Wenn wir, mindestens so lange wie DamageInvulnerabilityDelay gewartet haben
Wenn (Time.time-InvulnerabilityStartTime > = DamageInvulnerabilityDelay) {}
Beschädigung der Spieler
-= Gesundheitsschäden;
Zurücksetzen des Unverwundbarkeit Timers
invulnerabilityStartTime=Time.time;
}
Wenn der Spieler keine Gesundheit verlassen hat
Wenn (Gesundheit < = 0) {}
Laden Sie die Ebene
Application.LoadLevel(Application.loadedLevelName);
}
}
Wenn die Zombie mit dem Spieler kollidiert, den Spieler verletzt.
Fügen Sie die folgende Funktion an das Zombie-Skript.
/ / Wenn der Zombie kollidiert mit etwas
FunctionOnTriggerStay(other:Collider) {}
Bekommen Sie die Spieler, die die Zombie kollidierte mit, falls vorhanden
varplayer=other.gameObject.GetComponent(Player);
Wenn es mit etwas anderes als kollidierte werden ein Spieler null
{If(Player!=Null)}
Subtrahieren von die Gesundheit des Spielers
Spieler. Hurt(1);
}
}
Wenn die Kugel ein Zombie trifft, verletzt die Zombie.
Ersetzen Sie die OnCollisionEnter-Funktion in der Kugel-Skript mit den folgenden
FunctionOnCollisionEnter(collision:Collision) {}
Die Zombie, der die Kugel mit, kollidierte zu bekommen, falls vorhanden
varzombie=Collision.Transform.gameObject.GetComponent(Zombie);
Wenn es mit etwas anderes als kollidierte werden ein Zombie Zombie null
{If(Zombie!=Null)}
Subtrahieren von der Zombie-Gesundheit
Zombie. Gesundheit--;
Wenn der Zombie aus Gesundheit ist aus dem Spiel entfernen
If(Zombie. Gesundheit < = 0) {}
Destroy(Collision.Transform.gameObject);
}
}
Entfernen Sie das Geschoss aus der Welt
Destroy(this.gameObject);
}