How to make an instance of an object disappear when collided (With the same tag) but not all of them to disappear, just the object the player collided with.
In my game I have coded where each time the user picks up a banana they gain +50 points.
if (other.gameObject.CompareTag("banana")) //if banana is picked up { other.gameObject.SetActive(false); FindObjectOfType<ScoreManager>().updateScore(50); Boost = true; }
However, the problem here is that when i set the banana tag object to false, it hides the upcoming randomly spawned bananas that have been spawned since the object is not active. How do I go about just hiding the specific instance of the banana when it collides, instead of hiding all instances of the banana after the player has collided with one.
Answer by Ellie97 · Jul 03, 2018 at 02:25 PM
The way I would personally do it is to add an OnCollisionEnter function in a script on the banana prefab then check if it is the player and if it is, destroy it/set it inactive:
void OnCollisionEnter(Collision other)
{
if (other.gameObject.tag == "Player")
{
Destroy (gameObject);
//or gameObject.SetActive(false);
}
}
This should just delete the instance rather than all of them. You can also replace OnCollisionEnter(Collision other) with OnTriggerEnter(Collider other) if the bananas have triggers rather than colliders.
Ahhh still doesnt work, because when I call it to destory the object with tag "banana", when my code spawns another banana it says there is an error because the banana object has been destroyed.
Same thing goes for setActive, because when I set active as false, the bananas that do spawn cannot be seen anymore because they have all been set as false.
Your answer
Follow this Question
Related Questions
How do i make objects proper solid on collision? e.g. a rock hitting a metal box? 0 Answers
My Character can walk on top of objects, but walks right through them 1 Answer
OnTrigger Problems Between Colliders Issue 1 Answer
Why do my first 50 instances of a prefab have the same properties? 1 Answer
Help with collisions not working for no apparent reason?? 0 Answers