- Home /
Scrolling ground
Hello guys, help needed So I am developing a little endless runner and have problem with spawning the tiles. Problem is that I decided to make player static, so instead of player movement-tiles move themselves and illusion of movement is created . It's pretty good move for optimization btw. Spawning starts after player is grounded(player is flying down a bit after start) and spawning occurs according first tile rotation and position. Relevant code snippets are included. These methods work if player has locomotion, not vice versa.
public GameObject[] prefabs;
public float zSpawn = 0f;
public float tileLength = 30f;
public int numberOfTiles = 3;
public float xmultiplier = -3.1f;
public float xadditive = 3.1f;
private List<GameObject> activeTiles = new List<GameObject>();
void Update()
{
//change logic here
if (player.transform.position.z - 35 > zSpawn - (numberOfTiles * tileLength))
{
SpawnTile(gameStartScript.GetFirstTile().transform, Random.Range(0, prefabs.Length));
DeleteTile();
}
}
private void LateUpdate()
{
if (gameStartScript.gameStarted && playerController.isAirborn == false)
{
foreach (var tile in activeTiles)
{
tile.transform.Translate(tile.transform.forward * playerController.speed * Time.deltaTime);
}
}
}
public void SpawnTile(Transform firstTile, int tileIndex)
{
//change logic here
GameObject tileGameObject = Instantiate(prefabs[tileIndex]);
tileGameObject.transform.position = firstTile.position;
tileGameObject.transform.rotation = firstTile.rotation;
tileGameObject.transform.position = new Vector3(tileGameObject.transform.position.x + xmultiplier, tileGameObject.transform.position.y, firstTile.position.z + zSpawn);
activeTiles.Add(tileGameObject);
zSpawn += tileLength;
xmultiplier += xadditive;
}
void DeleteTile()
{
Destroy(activeTiles[0]);
activeTiles.RemoveAt(0);
}
Your answer
Follow this Question
Related Questions
What is a good way to randomly generate clouds along a path? 0 Answers
Random Spawning 1 Answer
,How to gradually make my character go faster 0 Answers
Endless runner ground movement 0 Answers
Spawn point movement problem 2 Answers