2016-07-24 3 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 리지드 바디

+1

그래서 오류가 무엇입니까? – Programmer

+0

Assets/Scripts/PlayerController.js (3,10) : BCE0043 : 예상치 못한 토큰입니다. 리지드 바디입니다. –

+0

오. 이 하나의 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);.

유니티 (Unity)가 권장하기 때문에 즉시 C#으로 전환하는 것이 좋습니다. 대부분의 최신 문서에는 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); 
}