在 Unity 5.3 中向新实例化的游戏对象添加力的问题

Issues adding force to a newly instantiated GameObject in Unity 5.3

我正在 Unity 5.3 中制作 2D 游戏,但在我刚刚从预制件实例化的游戏对象上使用 AddForce() 时遇到问题。我还在第 12 行的分号上遇到语法错误。除了这个语法错误之外,Unity 还抱怨这一行的最后三个字符。 (不包括注释)javascript 代码如下:

#pragma strict

var Toast : GameObject;
var ToastSpawner : GameObject;

function Start() {
    InvokeRepeating("spawnToast", 3, 1);
}

function spawnToast() {
    var toastClone = Instantiate(Toast, Vector3 (0,-2,0), Quaternion.identity) as GameObject;
    var rb = toastClone.GetComponent<Rigidbody2D>(); //Line 13
    rb.AddForce(Vector3.up * 1000);
}

感谢任何帮助! :)

我已经通过将新脚本附加到处理 AddForce() 函数的预制件来解决我的问题。下面的代码。

生成 toast 的脚本:

#pragma strict

var Toast : GameObject;
var ToastSpawner : GameObject;

function Start() {
    InvokeRepeating("spawnToast", 0, 1);
}

function spawnToast() {
    var toastClone = Instantiate(Toast, ToastSpawner.transform.position, Quaternion.identity);
}

移动吐司的脚本:

#pragma strict

var rb : Rigidbody2D;

function Start () {
    Invoke("moveToast", .5);
}

function moveToast () {
    rb.AddForce(Vector2 (0,5), ForceMode2D.Impulse);
}