How Do I Randomize Infinite Platform (With Respect To This Code)?
I Have Made A C# Code Which Spawns Infinite Platform . I Have Also Made A Public GameObject Array With Which I Have Put In My Prefabs. Here's My Code:-
#region Variables
public GameObject[] TilePrefabs;
private Transform playerTransform;
private float spawnZ = 0.0f;
private float tileLength = 31.0f;
private int amnTilesOnScreen = 6;
private float safeZone = 18.0f;
private List<GameObject> activeTiles;
#endregion
#region Unity Methods
private void Start()
{
activeTiles = new List<GameObject>();
playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
for (int i = 0; i < amnTilesOnScreen; i++)
{
SpawnTile();
}
}
private void Update()
{
if (playerTransform.position.z - safeZone > (spawnZ - amnTilesOnScreen * tileLength))
{
SpawnTile();
DeleteTile();
}
}
private void SpawnTile(int prefabIndex = -1)
{
GameObject go;
go = Instantiate(TilePrefabs[0]) as GameObject;
go.transform.SetParent(transform);
go.transform.position = Vector3.forward * spawnZ;
spawnZ += tileLength;
activeTiles.Add(go);
}
private void DeleteTile()
{
Destroy(activeTiles[0]);
activeTiles.RemoveAt(0);
}
endregion
Answer by Priyanka-Rajwanshi · Apr 07, 2018 at 06:52 AM
@ElaynYT Use Random.Range for randomisation as below:
private void SpawnTile()
{
int prefabIndex = Random.Range(0, TilePrefabs.Length);
GameObject go = Instantiate(TilePrefabs[prefabIndex]) as GameObject;
go.transform.SetParent(transform);
go.transform.position = Vector3.forward * spawnZ;
spawnZ += tileLength;
activeTiles.Add(go);
}
I Tried it but now its jumping platforms by this i mean its not spawning random platforms which i have added but the same platform but just random distance apart this makes the character fall to the void! What do i do? (P.S :- Its spawning the same platform with different distance and therefore there is a gap)
Did you debug the prefabIndex? Also, are all your prefabs of different size? Does the array contain different prefabs?
1 platform is simple but others have different obstacle placed differently and yes they are different prefabs.Not if you are speaking about the size since i have obstacles so the y axis also increases so... i don't know. And what do you mean by debug the prefabIndex
Your answer
![](https://koobas.hobune.stream/wayback/20220612160237im_/https://answers.unity.com/themes/thub/images/avi.jpg)