在 Unity 5.3 中向新实例化的游戏对象添加强制时出现问题

Issues adding force to a newly instantiated GameObject in Unity 5.3

本文关键字:添加 对象 问题 游戏 Unity 实例化      更新时间:2023-09-26

我正在 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()函数的预制件来解决我的问题。下面的代码。

生成吐司的脚本:

#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);
}