- Home /
walk through an object once
i want an object that allows a player to walk through it just once, after the player exits the object it should change into a kill object, after researching it the way to accomplish this is to instantiate the new object before you destroy the old one, as my new object is a kill target it immediately kills me, tried to put my code in OnTriggerExit but no joy there must be a simple answer to this heres my script if it helps
void OnTriggerEnter(Collider colliderHit)
{
if (colliderHit.CompareTag("collectable good"))
{
Instantiate(redSphere, transform.position, transform.rotation);
blueballs++;
Destroy(colliderHit.gameObject);
}
else if(colliderHit.CompareTag("collectable bad"))
{
Destroy(sonicDroid);
blueballs = 0;
}
}
okay i managed to fix this it was an issue with my collider position dragging the collider with the player so if i set a fixed position they stay there and the code works with no trouble here is what i changed it to
public class ballState : $$anonymous$$onoBehaviour {
public GameObject redSphere;
public GameObject blueBall;
public int blueballs = 0;
public GameObject sonicDroid;
private Vector3 ballposition;
private Quaternion ballrotation;
void OnTriggerEnter(Collider colliderHit)
{
if (colliderHit.CompareTag("collectable bad"))
{
Destroy(sonicDroid); //death scene
}
}
void OnTriggerExit(Collider collider)
{
ballposition = collider.transform.position;
ballrotation = collider.transform.rotation;
if (collider.CompareTag("collectable good"))
{
Instantiate(redSphere, ballposition, ballrotation);
Destroy(collider.gameObject);
}else if(collider.CompareTag("collectable bad"))
{
Destroy(sonicDroid); //death scene
}
}
}
Your answer
Follow this Question
Related Questions
How to destroy an instantiated prefab object and keep instantiating it 1 Answer
Instantiate spawns 2 instead of 1, help? 2 Answers
Instantiate prefab, add to list, destroy older prefab 1 Answer
Resources.load loads twice ( onTriggerenter->load-another->destroy-self ) 1 Answer
Only 1 of 3 conditions being executed in IF statement?(Solved) 1 Answer