Ich erschaffe ein endloses Jump-Game. Ich habe viele Hindernisse geschaffen, um zufällig für Zeit und für Spawn zu spawnen, aber jetzt möchte ich, dass die Hindernisse nicht an der gleichen Stelle wie die vorherigen spawnen, weil sie spawnen, aber manchmal können sie auch auf der anderen spawnen oder in der Nähe der anderen oder sogar in ihnen, also bitte hilf mir! Code:Wie man sicherstellt, dass keine Objekte übereinander liegen (zufälliger Spawn-Standort)
using UnityEngine;
using System.Collections;
public class SpawnObstacles : MonoBehaviour {
public GameObject[] Obstacle;
public float MINTObstacle;
public float MAXTObstacle;
public bool spawning = false;
public Transform pos;
void Update()
{
if (!spawning)
{
StartCoroutine("SpawnObstacle");
}
}
IEnumerator SpawnObstacle()
{
spawning = true;
yield return new WaitForSeconds(Random.Range(MINTObstacle, MAXTObstacle));
Vector2 finalposition = new Vector2(Random.Range(3,7), Random.Range(pos.position.y - 6f, pos.position.y - 6f));
Instantiate(Obstacle[Random.Range(0, Obstacle.Length)], finalposition, Quaternion.identity);
spawning = false;
}
}
Erstellen Sie eine 2D-Karte aller möglichen Positionen, die ein Objekt spawnen kann. Wenn das Objekt spawnt, markieren Sie es auf der Karte. Sobald das Objekt außerhalb des Bildschirms ist, entfernen Sie es von der Karte. –