![](/img/trans.png)
[英]Stripe IBAN Element Error 'The type `sepa_debit` is not a valid source type.'
[英]Error “InvalidCastException: Cannot cast from source type to destination type.” While using Instantiate in Unity
好的,所以我正在統一制作2D游戲,當我運行代碼時,出現以下錯誤:
InvalidCastException: Cannot cast from source type to destination type.
ToastSpawn.spawnToast () (at Assets/Scripts/ToastSpawn.js:11)
ToastSpawn.js文件中的代碼如下:
#pragma strict
var Toast : Rigidbody;
var ToastSpawner : GameObject;
function Start() {
InvokeRepeating("spawnToast", 3, 1);
}
function spawnToast() {
var toastClone = Instantiate(Toast, GameObject.Find("ToastSpawner").transform.position, Quaternion.identity);
toastClone.AddForce(Vector2 (0,1) * 1000);
}
我昨天才剛開始使用unity,所以這可能就是為什么我得到這個錯誤。 :)
您試圖在Rigidbody類型的對象(Toast:Rigidbody)上使用Object.Instantiate ,它是一個組件,而不是GameObject。 只能使用GameObject.AddComponent將組件添加到現有的GameObject中 。 您需要為Toast項目創建一個預制件(該預制件上具有剛體組件),並在Instantiate方法中使用該預制件。
另外,您不應在屬性名稱上使用大寫字母。
好吧,如果您從C#開始學習會更好::P盡管我不是JavaScript專家,但仍然可以看到一些故障。
就像是,
var Toast : GameObject;
var ToastSpawner : GameObject;
...
...
var toastClone = Instantiate(Toast, ToastSpawner.transform.position, Quaternion.identity);
var rb : Rigidbody = toastClone.GetComponent("Rigidbody");
rb.AddForce(...);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.