2016-07-24 4 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のエラーリジッドボディ

+1

エラーは何ですか? – Programmer

+0

Assets/Scripts/PlayerController.js(3,10):BCE0043:予期しないトークン:リジッドボディ。 –

+0

ohh。これはAssets/Scripts/PlayerController.js(13,16)です:UCE0001: ';'期待される。最後にセミコロンを挿入します。あなたはv) –

答えて

0

コードでJavascriptとC#を混在させています。彼らは2つの異なる言語です。ここに問題があります:

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