2016-07-24 6 views
0
#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); 
} 

Я был бы признателен за ответ с некоторым кодом, чтобы показать мне. Спасибо, что нашли время ответить.Unity javascript error Rigidbody

+1

Итак, что за ошибка? – Programmer

+0

Активы/скрипты/PlayerController.js (3,10): BCE0043: Неожиданный токен: Жесткий. –

+0

ohh. и этот один Assets/Scripts/PlayerController.js (13,16): UCE0001: ';' ожидается. Вставьте точку с запятой в конец. Вы можете четко видеть полуколону после v) –

ответ

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