Question by
Leningrads · May 17, 2016 at 05:01 AM ·
prefabsspawningcoroutinesloopingobject pool
Coroutine for spawning prefab
I'm trying to spawn prefab using coroutine function, but I got a problem with my code. The problem is, the console never goes into the loop functions I have setup for spawn the prefab repeatedly side by side in a certain amount. The result i got just a single object. Here is my code:
void Start()
{
spawnRotation = Quaternion.identity;
TreeSpawn_Threshold = 40;
ObstacleSpawn_Threshold = 40;
FloatingGroundSpawn_Threshold = 35;
EggSpawm_Threshold = 70;
RiverSpawn_Threshold = 30;
PlatformWidth = GameObject.Find("GroundA (5)").GetComponent<BoxCollider2D>().bounds.size.x;
// InvokeRepeating("GameRun", 1f, 1f);
}
// Update is called once per frame
void Update()
{
StartCoroutine(GameRun());
}
IEnumerator GameRun()
{
if (transform.position.x < groundspawnpoint.position.x)
{
**.....some code**
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//spawn floating ground
if (Random.Range(0, 100) < FloatingGroundSpawn_Threshold)
{
FloatWidth = 0;
LastFloatSpawnPosition = transform.position.x;
numfloatground = Random.Range(0, 4);
for (int i = 0; i <= numfloatground; i++) **// THIS LOOP FUNCTION NEVER WORK**
{
**BUT THE CODE BELOW WORK JUST LIKE NO LOOP FUNCTION**
//floating ground position
Vector3 FloatSpawnPosition = new Vector3(LastFloatSpawnPosition + FloatWidth, floatinggrooundspawnpoint.position.y, floatinggrooundspawnpoint.position.z);
GameObject floatingGroundOBJ = FloatingGroundPooler.GetPooledObject();
floatingGroundOBJ.transform.position = FloatSpawnPosition;
floatingGroundOBJ.transform.rotation = spawnRotation;
floatingGroundOBJ.SetActive(true);
Debug.Log(i);
//floating distances width
if (numfloatground > 0)
{
LastFloatSpawnPosition = FloatSpawnPosition.x;
FloatWidth = floatingGroundOBJ.GetComponent<BoxCollider2D>().bounds.size.x;
}
}
}
**.....some code**
yield return new WaitForSeconds(1f);
}
}
I also have a question, why the coroutine can't works when i put the in the Start function?
Thanks in Advance
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612080952im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Making an endless hallway with random objects spawning 0 Answers
When enemy spawns it loses the script settings. 0 Answers
Making an object spawned from a list became a child of the player? 0 Answers
Trouble With Creating A Collection of Enemy Prefabs and Spawning Them 0 Answers
Object pooling VS Objects in scene. 1 Answer