- Home /
A trigger to happen only once.
Hi! I created a code block that if you hit the colliders, they will be colored red. Now, how can I make that if a collider is hit, the other triggers will not happen anymore? Here are my codes.
function OnControllerColliderHit(hit : ControllerColliderHit) {
if(hit.collider.gameObject.name=="ID331"){
hit.collider.renderer.material.color = Color.red;
}
else if (hit.collider.gameObject.name=="Collider1"){
hit.collider.renderer.material.color = Color.red;
}
}
Thanks!
Comment
what do you mean by other triggers , triggers on other game objects or this game object that this script is attached to
Answer by Lex_87 · Sep 19, 2014 at 10:49 AM
var _triggerHasPassed : bool;
function OnControllerColliderHit(hit : ControllerColliderHit) {
if (_triggerHasPassed)
return;
if(hit.collider.gameObject.name=="ID331"){
hit.collider.renderer.material.color = Color.red;
}
else if (hit.collider.gameObject.name=="Collider1"){
hit.collider.renderer.material.color = Color.red;
}
_triggerHasPassed = true;
}
if return line works, it will work, try printing the bool every time to see it's state. and print if..theboolistrue...print(wastrue);
so you have some concept of seeing into the code you have, checking it, beco$$anonymous$$g master of the code.
Your answer
![](https://koobas.hobune.stream/wayback/20220613163318im_/https://answers.unity.com/themes/thub/images/avi.jpg)