在Unity 5.3中向新实例化的GameObject添加强制的问题

时间:2016-01-17 02:29:20

标签: javascript unity3d-2dtools

我在Unity 5.3中制作2D游戏,但我在使用预制件实例化的GameObject上使用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);
}

任何帮助表示赞赏! :)

1 个答案:

答案 0 :(得分:0)

我通过在预制件上附加一个处理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);
}