我工作的一個產卵腳本,但有一個我無法找到一個解決問題的辦法......轉換的Vector3改造
我得到那個說
「不能隱式錯誤轉換型「UnityEngine.Vector3」到「UnityEngine.Transform」」
我可以通過添加.POSITION到spawningpos
刪除錯誤,但不會工作,因爲它不是一個對象的變換隻需在腳本變量變換
public GameObject[] spawningObj;
public GameObject[] insects;
public GameObject[] invierment;
public GameObject[] inviermentSingel;
public Transform player;
public int maxNPCsPerChunk;
public int maxInectsPerChunk;
public int maxInviermentalsPerChunk;
public int spawningAria;
private Transform spawningpos;
// Use this for initialization
void Start()
{
if (player == null)
player = GameObject.FindWithTag("Player").transform;
int max = Random.Range(0, maxInectsPerChunk);
for (int i = 0; i < max; i++)
{
spawningpos = new Vector3(Random.Range(-spawningAria, spawningAria) + transform.position.x, 2f, Random.Range(-spawningAria, spawningAria) + transform.position.z);
//Error on above line
Instantiate(insects[Random.Range(0, insects.Length)], spawningpos);
}
爲什麼你不聲明spawningpos作爲'Vector3',因爲你用它作爲一個簡單的位置? – Hellium
變換是一個支持所有「變換」相關值的組件。將簡單的Vector3轉換爲包含旋轉,位置,比例等的結構幾乎是不可能的。 –
「spawningpos.position = new Vector3(Random.Ran ...」但這不是正確的做法。編輯:查看下面的答案爲什麼和如何:) – 2016-11-24 09:30:00