2
我想在場景中放置六個對象(球)。我認爲代碼看起來可行,但我收到一個控制檯消息。消息:不能將類型對象轉換爲unityengine.Vector3
「資產/ GameScripts/Instance.cs(26,40):錯誤CS0266:無法 類型隱式轉換
object' to
UnityEngine.Vector3' 一個明確的 轉換不存在(是否缺少強制轉換?) 「
using UnityEngine;使用System.Collections的 ;
公共類實例:MonoBehaviour public GameObject ball;
public ArrayList coordinateContainer = new ArrayList();
// Use this for initialization
void Start() {
coordinateContainer.Add(new Vector3(1f,1f,1f));
coordinateContainer.Add(new Vector3(2f,1f,1f));
coordinateContainer.Add(new Vector3(3f,1f,1f));
coordinateContainer.Add(new Vector3(4f,1f,1f));
coordinateContainer.Add(new Vector3(5f,1f,1f));
coordinateContainer.Add(new Vector3(6f,1f,1f));
//ball.transform.position = new Vector3(1f,1f,1f);
ball.transform.rotation = Quaternion.identity;
for (int i = 0; i < 6; i++) {
ball.transform.position = coordinateContainer[i];
Instantiate(ball,ball.transform.position,ball.transform.rotation);
}
}
// Update is called once per frame
void Update() {
}
}
Assets/GameScripts/Instance.cs(26,74):錯誤CS0077:'as'操作符不能用於非空值類型'UnityEngine.Vector3'' - 當我嘗試「作爲Vector3「。 –
@HalilCosgun - 我已經更新了使用直接投射的答案。這是使用'List'的另一個很好的理由,因爲您正在循環遍歷'coordinateContainer'中的所有對象,並且如果它不能轉換爲'Vector3'對象,則會拋出異常。 –
keyboardP
非常感謝。 :) 有用。感謝您的建議,我將使用List。 –