Etape 12 : Stats et Condition de fin
Ajouter un nouveau script appelé Player dans le dossier scripts.
Le code suivant sera permettent au joueur d’être endommagé et relancer le jeu quand le joueur est tué.
/ / Le nombre de fois où le joueur peut être endommagé avant que le jeu redémarre
varHealth:int = 10 ;Nombre minimal de secondes entre le joueur se blesser
varDamageInvulnerabilityDelay:float = 2 ;Assure le suivi de la dernière fois que le joueur a été endommagé
privatevarinvulnerabilityStartTime:float ;{functionStart()}
Définir la valeur initiale pour le joueur est temporairement invulnérable à frayer
invulnerabilityStartTime=Time.time ;
}Tentative d’endommager le lecteur du nombre spécifié de points
functionHurt(damage:int) {}
Si nous avons attendu au moins aussi longtemps que DamageInvulnerabilityDelay
Si (Time.time-invulnerabilityStartTime > = DamageInvulnerabilityDelay) {}
Endommager le lecteur
Dommages de santé = ;
Réinitialiser le compteur de l’invulnérabilité
invulnerabilityStartTime=Time.time ;
}
Si le joueur n’a aucun laissée de la santé
Si (santé < = 0) {}
Recharger le niveau
Application.LoadLevel(Application.loadedLevelName) ;
}
}
Si le zombie entre en collision avec le joueur, blessé le joueur.
Ajoutez la fonction suivante dans le script de Zombie.
/ / Lorsque the Zombie se heurte à quelque chose
functionOnTriggerStay(other:Collider) {}
Obtenir le joueur que le Zombie est entré en collision avec, le cas échéant
varplayer=other.gameObject.GetComponent(Player) ;
Si il a heurté quelque chose autre qu’un joueur sera null
{if(Player!=null)}
Soustraire un de la santé du joueur
lecteur. Hurt(1) ;
}
}
Si la balle frappe un zombie, blesser le zombie.
Remplacez la fonction OnCollisionEnter dans le script de balle par ce qui suit
functionOnCollisionEnter(collision:Collision) {}
Obtenir le Zombie qui la balle est entrée en collision avec, le cas échéant
varzombie=collision.Transform.gameObject.GetComponent(Zombie) ;
Si il a heurté quelque chose autre qu’un zombie Zombie sera null
{if(Zombie!=null)}
Soustraire un de la santé de la Zombie
Zombie. Santé--;
Si le zombie est hors santé Retirez-les du jeu
if(Zombie. Santé < = 0) {}
Destroy(collision.Transform.gameObject) ;
}
}
Retirer la balle du monde
Destroy(this.gameObject) ;
}