Stap 12: Stats en einde voorwaarde
Een nieuw script genaamd Player in de map scripts toevoegen.
De volgende code zal toestaan de speler te zijn beschadigd, en het spel opnieuw te starten wanneer de speler wordt gedood.
/ / Het aantal keren dat de speler kan worden beschadigd voordat het spel opnieuw wordt gestart
varHealth:int = 10;Minimum aantal seconden tussen de speler raken gewond
varDamageInvulnerabilityDelay:float = 2;Houdt van de laatste keer dat de speler werd beschadigd
privatevarinvulnerabilityStartTime:float;functionStart() {}
Initiële waarde ingesteld, zodat de speler tijdelijk onkwetsbaar op spawn is
invulnerabilityStartTime=Time.time;
}Poging om de speler beschadigen door het opgegeven aantal hit punten
functionHurt(damage:int) {}
Als we ten minste zo lang als DamageInvulnerabilityDelay hebben gewacht
Als (Time.time-invulnerabilityStartTime > = DamageInvulnerabilityDelay) {}
De speler beschadigen
-= Schade aan de gezondheid;
Reset de onkwetsbaarheid timer
invulnerabilityStartTime=Time.time;
}
Als de speler geen gezondheid links heeft
Als (gezondheid < = 0) {}
Herlaad het niveau
Application.LoadLevel(Application.loadedLevelName);
}
}
Als de zombie met de speler botst, kwetsen de speler.
Voeg de volgende functie aan het Zombie-script.
/ / Wanneer the Zombie botst met iets
functionOnTriggerStay(other:Collider) {}
Krijgen van de speler die de Zombie met botste, indien van toepassing
varplayer=other.gameObject.GetComponent(Player);
Als het botste met iets anders dan zal een speler-speler leeg zijn
if(Player!=null) {}
Aftrekken van de speler's gezondheid
speler. Hurt(1);
}
}
Als de kogel een zombie raakt, kwetsen de zombie.
De OnCollisionEnter functie in de Bullet script vervangen door de volgende
functionOnCollisionEnter(collision:Collision) {}
Krijgen van de Zombie dat de kogel met botste, indien van toepassing
varzombie=Collision.transform.gameObject.GetComponent(Zombie);
Als het botste met iets anders dan zal een Zombie zombie leeg zijn
if(Zombie!=null) {}
Aftrekken van de Zombie's gezondheid
Zombie. Gezondheid--;
Als de zombie gezondheid goedeformaat ze uit het spel verwijderen
if(Zombie. Gezondheid < = 0) {}
Destroy(Collision.transform.gameObject);
}
}
De kogel te verwijderen uit de wereld
Destroy(this.gameObject);
}