I'm making a simple arcade-style collection game where apples fall and the player has to collect them. The apples fall from a random point (an array of empty gameObjects to simulate a tree), and then are supposed to wait a varying amount of seconds before dropping again.
I thought the code below would work, but the yield command seems to cause the method to not run (everything else runs fine). Of course, removing the yield command results in a million spheres spawning everywhere. Any suggestions? The method as I have it is supposed to spawn another apple in a time frame of 1 to 5 seconds, using Random.Range to select the specific pause length.
You cannot use yield WaitForSeconds in the update.
That is your problem. As you call the function in the update no matter what you shuld use a timer instead. See below:
This is calling the function 60 or more time per second and each call is waiting but with:
now the function is not called until timer reaches the value