- Home /
OnTriggerEnter to Destroy Objects not working Correctly
I was making a script meant to destroy both the player and the object the script was attached to and then instantiate and object to replace them both,i was playing around with it for awhile and it worked separately(the objects would get destroyed,object was instantiated)but when i put the script together it would not destroy the player object so there would be 2 players on screen at once.whats the matter
var prefab : Transform;
function OnTriggerEnter (other : Collider) {
Destroy(other.gameObject);
Destroy(this.gameObject);
Instantiate (prefab); }
also i dont know how to instantiate on the tagged "Players" position and rotation, but you dont need to bother if you dont want, i can figure that out on my own
the script is attached to and object that destroys both that object and the player when collided and then creates another "PLAYER" object
both objects arent getting destroyed,only the object this script is attached to, it worked when it was just Destroy(other.gameObject), but why isnt it now?
you need to add a line of code to your function like so:
Debug.Log(other.transform.tag);
// or this one depending if you name/tag your gameobjects
Debug.Log(other.transform.name);
Then you can see what the trigger is detecting. $$anonymous$$ake sure its outside the if statement.
Answer by SubatomicHero · May 15, 2013 at 02:19 PM
Check that the object entering the trigger is a player first:
function OnTriggerEnter(other : Collider){
if (other.transform.tag == "Player" || other.transform.name == "Player") {
Destroy (other.gameObject);
}
Destroy (this.gameObject);
}
one thing needed changing,but yeah it worked ^_^ thanks
Your answer
Follow this Question
Related Questions
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Setting Scroll View Width GUILayout 1 Answer
Collider not working... 0 Answers
destroy touch the screen on gameobject in camera 0 Answers
Destroy gameobject 2 Answers