J'utilise l'unité 5 C# et j'ai un gameobject avec 2 déclenchement collisionneurs un d'eux est dans un endroit différent. Je dois pouvoir utiliser OnTriggerStay2D et OnTriggerEnter2D pour eux mais j'ai besoin de trouver quel déclencheur est entré. En ce moment, si j'entre le 1er déclenchement (polygone), le OnTriggerEnter est activé pour le 2nd (case). Comment puis-je distinguer les deux collisionneurs ???unité OnTriggerStay2D() pour deux déclencheurs
public void OnTriggerEnter2D(Collider2D other) //2nd collider trigger
{
if (other.tag == "Player") {
Found = true; //if the player is in shooting range
Idle = false;
}
}
public void OnTriggerStay2D(Collider2D other) //1st collider trigger
{
if (Found != true) {
if (other.tag == "Player") {
Shield = true;
Idle = false;
}
}
}
public void OnTriggerExit2D(Collider2D other) //2nd collider trigger
{
if (other.tag == "Player") {
Found = false;
Shield = false;
Shooting = false;
Idle = true;
}
}
J'ai essayé de faire le 1er déclencheur OnTriggerStay2D public void (PolygonCollider2D autre), mais il dit: « Ce paramètre de message doit être de type: Collider2D Le message sera ignoré. » Ce que j'essaie de faire est d'avoir un trigger polygonal devant l'objet gameobject et un trigger différent de l'objet gameobject, donc quand vous approchez de l'objet gameobject, vous entrez dans le 1er trigger et il met son bouclier approchez-vous-en (à portée de tir), il mettra son bouclier et commencera à vous tirer dessus.