- Home /
Problem with spawning script
Hi im working on a game which spawns obstacles the player has to jump through. i couldnt find an of these problems online so i decided to ask here. The problem is that the obstacles spawn higher then the ground that i've made.
[1]: /storage/temp/22279-untitled-1.jpg
I also have a problem with the same obstacle spawning up to (x) times in a row, i want it so that the obstacles doesnt spawn twice in a row. this is the script im using so far.
 using UnityEngine;
 using System.Collections;
 
 public class SpawnScript : MonoBehaviour {
 
     
     public GameObject[] obj;
     public float spawnMin = 1f;
     public float spawnMax = 2f;
     
     // Use this for initialization
     void Start () {
         Spawn();
     }
     
     void Spawn()
     {
         Instantiate(obj[Random.Range (0, obj.GetLength(0))], transform.position, Quaternion.identity);
         Invoke ("Spawn", Random.Range (spawnMin, spawnMax));
     }
 }
If there is a tutorial on this it would be much appreciated. Thank you for your help
Answer by mattyman174 · Feb 17, 2014 at 01:13 AM
You need to keep a reference to the previously spawned Obstacle so that when you want to Instantiate a new one, you can check that the new Obstacle is not the same as the previous one.
 private int previousObstacleIndex = -1; //Not 0 so we dont discount the first Array Element.
 private int currentObstacleIndex;
 void Spawn()
 {
     currentObstacleIndex = Random.Range(0, obj.GetLength(0));
     if (previousObstacleIndex != currentObstacleIndex)
     {
         Instantiate(obj[currentObstacleIndex], transform.position, Quaternion.identity);
         previousObstacleIndex = currentObstacleIndex;
     }
     Invoke("Spawn", Random.Range(spawnMin, spawnMax));
 }
Your answer
 
 
             Follow this Question
Related Questions
Spawn Script Issue 0 Answers
Help: script that worked don't work with Unity 3.5 0 Answers
C# Make array based on script variable 1 Answer
Spawned units disappear 2 Answers
Pressing "Fire2" Spawns and removes object on click 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                