我正在創造一個無盡的跳躍遊戲。我已經創造了很多障礙,隨機產生時間和空間,但現在我想讓這些障礙物不像以前那樣產生在同一個地方,因爲它們正在產卵,但有時它們會產生在另一個的頂部或靠近其他人或甚至在他們內部,所以請幫助我! 代碼:如何確保物體不會產生在另一個物體上(隨機產卵位置)
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;
}
}
創建一個對象可以產生的所有可能位置的二維地圖,然後當對象在地圖上產生標記時,一旦對象關閉,將其從地圖上移除 –