Unity javascript错误Rigidbody

时间:2016-07-24 17:56:55

标签: javascript unity3d unityscript

 #pragma strict

 private Rigidbody rb;

function Start () {
    rb = GetComponent<Rigidbody>();
}

function FixedUpdate () {
    var v : float = Input.GetAxis("Vertical");
    var h : float = Input.GetAxis("Horizontal");

    Vector3 movement = new Vector3 (h, 0.0f, v);
    rb.AddForce (movement);
}

我希望通过一些代码向我展示答案。感谢您抽出宝贵时间回复。

1 个答案:

答案 0 :(得分:0)

您在代码中混合使用Javascript和C#。它们是两种不同的语言。以下是问题:

private Rigidbody rb;rb = GetComponent<Rigidbody>();Vector3 movement = new Vector3 (h, 0.0f, v);

我建议您立即切换到C#,因为Unity建议您这样做。大多数最新文档都没有Javascript示例,看起来Javascript支持将在未来删除。

我注释掉了错误的代码,这样你就可以从错误中吸取教训。这是您的固定代码:

#pragma strict

//private Rigidbody rb;
private var rb:Rigidbody;

function Start () {
    //rb = GetComponent<Rigidbody>();
    rb = GetComponent.<Rigidbody>();
}

function FixedUpdate () {
    var v : float = Input.GetAxis("Vertical");
    var h : float = Input.GetAxis("Horizontal");

    //Vector3 movement = new Vector3 (h, 0.0f, v);
    var movement = Vector3(h, 0.0f, v);
    rb.AddForce (movement);
}