Killzone et teleportation
Un fait amusant dans les jeux vidéos, c’est que souvant la mort et la teleportation sont basés sur le même principe:
On déplace le joueur à un endroit choisi quand certaines conditions sont achevées.
On va donc voir comment créer des objets mortels ainsi que des checkpoints et des teleporteurs… le tout avec presque toujours le même script!
Créer une Killzone
Tu peux regarder cette vidéo tuto qui présente la création d’une Killzone pour ramener ton joueur au début du jeu s’il tombe !
Principe du script
Pour créer une killzone nous allons utiliser les principes de collision expliqué ci-dessus et de déplacement d’objets. Tu peux regarder ces parties là avant.
Quand le joueur entre en collision avec un objet avec le tag “zone de mort”, le joueur retourne à sa position de départ. Pour cela on va changer son transform.position.
Nous avons aussi besoin de mémoriser la position de départ. Pour cela on va créer une variable pour stocker cette valeur et la récupérer dans la fonction Start() et pour récupérer la position de départ on va utiliser la variable transform.position.
Faire des Checkpoints
Le mécanisme des Checkpoints est proche du mécanisme des Killzone et nous allons reprendre le script Killzone pour le modifier légèrement. Si tu ne sais pas faire les Killzone, je t’invite à regarder cela avant!
Principe du script
Quand on récupère un objet, on change la position de réapparition du joueur quand il meurt. On utilise exactement le même mécanisme que celui utilisé pour fixer le point de départ initial, sauf que cette fois, c’est au moment de la collision qu’on récupère la valeur.
Attention ce script remplace le script killzone, il faut soit le modifier, soit le remplacer mais ne pas utiliser les deux en même temps.
Créer un Portail de téléportation
Pour changer la position d’un objet, il suffit de modifier la position de son transform. Pour cela on modifie la variable transform.position de l’objet.
Tu peux regarder cette vidéo tuto qui présente Création d’un script pour un système de téléportation !
Principe du script
Voici un petit exemple de portail de téléportation qui téléporte le joueur vers un autre endroit. Dans ce script nous utiliserons les mécanismes de collision (plus d’explications sur cette page)
Lorsque le joueur rentre en collision avec un objet, le joueur est immédiatement téléporté à un autre endroit.
Pour ça on a besoin de la position d’arrivée pour y déplacer le joueur. Pour récupérer cette position, on utilise une variable publique arrivée qui contient l’objet où l’on veut faire arriver le joueur.
Pour accéder à la position à partir d’un objet il suffit d’écrire : objet.transform.position.
On peut s’inspirer de ce script pour en faire plein d’autres : déplacer un objet si on en touche un autre, créer des killzone, faire évoluer une position au cours du temps, faire faire des aller-retours à des objets…