- Home /
[Closed]Not destroying floor?
Hey,
I'm making a RPG game and I have an attack going into the ground. I have this script on it to destroy the hitted target
function OnCollisionEnter(collision : Collision){
// This line will destroy the hited object:
Destroy(collision.gameObject);
// And now destroy the attack:
Destroy(gameObject);
}
But the problem is that if I hit the ground the ground destroys. Is there any way to pervent this from happening?
Thanks //Proximal-Pyro
Answer by Kleptomaniac · Mar 12, 2013 at 10:01 AM
Do a tag check. For example:
if (collision.gameObject.CompareTag("Target")) {
Destroy(collision.gameObject);
}
This will only destroy objects tagged with the word "Target".
Do the targets have a specific component attached to them, such as a rigidbody? If so, you can also just check for a component:
if (collision.gameObject.rigidbody) {
Destroy(collision.gameObject);
}
This will ignore objects without a rigidbody, such as your floor for example.
Hope that helps,
Klep
Please make sure to tick the grey tick to show that this was the accepted solution! :) Glad I could help.
@Proximal-Pyro a video guide to using Unity Answers : http://video.unity3d.com/video/7720450/tutorials-using-unity-answers
Your answer
Follow this Question
Related Questions
How can I destroy my Player if only his Head or Body touch the ground. 3 Answers
OnCollisionStay for seconds then destroy 0 Answers
Destroy Turret with machine Gun 0 Answers
destroy touch the screen on gameobject in camera 0 Answers
Destroy a GameObject 2 Answers