我在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);
}
任何帮助表示赞赏! :)
答案 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);
}