OnTriggerEnter
Fait partie de la section Physique et gameplay du Journey Unity de Coddy. Leçon 16 sur 63.
void OnTriggerEnter(Collider other) s’exécute une fois, lors de l’étape de physique où un autre collider commence à chevaucher un trigger. other est ce collider : other.name, other.gameObject et other.CompareTag("Player") t’indiquent donc ce qui est entré. Unity appelle cette méthode dans les scripts des deux objets : sur le trigger, other est le visiteur, et sur le visiteur, other est le trigger.
Cette ligne d’arrivée réagit au joueur et à rien d’autre, donc une balle qui la franchit ne génère aucun journal :
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Debug.Log(other.name + " crossed the finish line");
}
}Le paramètre doit être un Collider. Écrite sous la forme void OnTriggerEnter(Collision collision), la méthode compile quand même, car pour C#, il s’agit d’une méthode ordinaire. Unity vérifie le paramètre lui-même, consigne une erreur Script error: OnTriggerEnter indiquant This message parameter has to be of type: Collider, et n’appelle jamais la méthode. Collision est utilisé avec OnCollisionEnter, lorsque deux corps solides se rencontrent en un point de contact. Un trigger n’a aucun contact à signaler, seulement le collider ; il reçoit donc un Collider.
Défi
FacileLes véhicules traversent la barrière de péage, un déclencheur. Le script Driver les déplace et est terminé. Écris le script TollGate de la barrière :
- Chaque véhicule étiqueté
Carpaie letoll(3) : ajoute-le àcollectedet affiche le total,Toll: 3pour la première voiture, puisToll: 6. - Tout le reste, comme le cycliste, passe gratuitement et n’affiche rien.
Appuie d’abord sur Play : la Console affiche déjà une erreur de script concernant la méthode telle qu’elle est écrite. Corrige-la, puis clique sur Check.
Essayez vous-même
using UnityEngine;
public class TollGate : MonoBehaviour
{
public int toll = 3;
int collected;
void OnTriggerEnter(Collision collision)
{
// Les voitures paient le péage ; tout le reste passe gratuitement
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Physique et gameplay
1Corps rigide
Gravité et massePousser avec AddForceSauter avec une impulsionFixedUpdate pour la physiqueVitesseCorps cinématiquesRécapitulatif : plateforme de lancement4Coroutines
InvoquerInvokeRepeating, CancelInvokeVotre première coroutineBoucles dans les coroutinesArrêter les coroutinesRécapitulatif : compte à rebours2Collisions
OnCollisionEnterQu’est-ce que j’ai touché ?Se briser à l’impactRester au solRebond et frictionFormes des collidersRécapitulatif : mur destructible5Projet : Course aux pièces
La balle roulanteDes pièces à ramasser