Making a Ball Respawn after collision with Goal?

Hi there,

I’ve looked around for similiar questions, while there are some that helped none of them where specific enough, or they were written in a diff code.

Basically I have a ball with a rigidbody collider, and a Goal with a Box Collider (Is Trigger)

I have this code on my ball

public class Ball : MonoBehaviour 

{

void Start () {
	rigidbody.velocity = new Vector3(0, 0, 19);
}

}

And I have this on my goal
function OnTriggerEnter(enterer : Collider)

{

if (enterer.collider.gameObject.CompareTag("Respawn"))

{

    Debug.Log("Score!");

    GUITextExample.Counter ++;

}

}
The ball is written in C# & the goal in Java, this is down to my lack of coding knowledge, preferably I would like the ball code to be in Java too, But my main issue is making the ball respawn after a couple of secs to its starting point. Can anybody offer me any help on this?

Thanks,

Here is what I came up with:

//create an empty gameobject at the respawn point for the ball, thwn drop it in the inspector here

var startingPosition : Transform;


function OnTriggerEnter(enterer : Collider)
{

	if (enterer.CompareTag("Respawn"))
	{
		Debug.Log("Score!");
		GUITextExample.Counter ++;
		//sends the ball to startingPosition specified in the inspector
		enterer.transform.position = startingPosition.position;
	}

}

Hope that helps.

That helped a lot, I added it to the collider and it works fine. Thanks

I was wondering though, how do I delay the respawn time for a few seconds?

Thanks again

Hello @Lboy

You can also respawn the object after collision with the goal by Instantiating the ball at the starting position of the ball. Also, if you want the object to be instantiate at the start position after few seconds. Code implemented.

Transform Start_Position_Ball;
GameObject Ball_To_Instantiate;

 void OnTriggerEnter(Collider Col)  Or void OnCollisionEnter(Collision Col) // you can do either both way
 {
 
     if (Col.gameObject.tag == "Goal")
     {
         Debug.Log("Collided with Goal");
         yield return new WaitForSeconds(5); //gameobject will respawn after 5 seconds
        Instantiate(Ball_To_Instantiate,Start_Position_Ball,Quaternion.identity);
     }
 
 }

Thanks
Ankush Taneja