- Home /
How to make gameObject make only one collision
Hi I have question for which I haven't been able to find an answer thus far. I have two game objects next to each other and each one has a collider. Now when a third object collides with one of the game objects then the direction of that third object takes a different direction based on which gameObject/collider it touched. This works fine for most part when the gameObjects are hit cleanly but when it collides in the middle of both colliders then it takes a direction in the middle, this causes a problem for my game.
I wanted to know how to make sure that only one collider/collision is triggered (doesn't matter which one) when any other objects collides in the middle of both gameObjects.
Answer by Rickywild · Nov 29, 2016 at 07:03 PM
You could try setting a private bool in each class. So something like this,
 private bool isHit;
 
 void Start()
 {
 isHit = false; //Set flag to false
 }
 
 void OnTriggerEnter2D(Collider2D collision)
     {
         //Check for collisions
 
 
         if(collision.tag == "Example")
         {
 if(!isHit)
 {
 //do your stuff here.
 isHit = true;
 }
 }
 }
Once the bool flag has been set it won't execute that code again. Or make this variable a public static bool in your gamemanager singleton and set it there, and check against it in your collisions.
Your answer
 
 
             Follow this Question
Related Questions
Colliding two GameObjects 1 Answer
On Trigger Enter, Collide with object, specific collision 1 Answer
Keep doing something while colliding 1 Answer
Help with destroying objects on collision 2 Answers
Collision problem in C# 4 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                