- Home /
how to spawn a object once (timed)
HELLO, im having trouble spawning my object. when the timer runs out, it spawns millions of the one object, and here is my scripty.
var objectToMake : Transform;
var spawnPos : Transform;
function update () {
if (Time.time >= 5.0 )
Instantiate (objectToMake, spawnPos.position, spawn.rotation);
}
thanks guys :)
Answer by syclamoth · Nov 14, 2011 at 05:43 AM
You should really have a look at what your script is doing there. It should come as no surprise that this is what happens, since right now it is checking for whether it has been more than 5 seconds since the beginning of the game, and if it has, it spawns an object every single frame! You should do something more like this-
function Start()
{
StartCoroutine(WaitAndSpawn(5));
}
function WaitAndSpawn(time : float)
{
yield WaitForSeconds(time);
Instantiate (objectToMake, spawnPos.position, spawn.rotation);
Destroy(this);
}
sorrryy im still new at unity :(, i have much to learn.
Just to make the script more lean, Start can be a coroutine so you don't need a separate function (but for those cases when you do, JS automatically starts functions as coroutines when appropriate, so you don't need write out StartCoroutine).
Your answer
Follow this Question
Related Questions
Instantiate over time? 1 Answer
increasing rate of spawn on button press 1 Answer
Problem with time on scrolling texture 1 Answer
instantiating at a random time 1 Answer
How to randomly instantiate prefabs after a certain time? 2 Answers