2016-08-31 5 views
1

何が起こっているのか分かりません。私はUnity 4で書かれたチュートリアルに従おうとしています。これは私が手に入れたもので、今は私が立ち往生しています。フィールドイニシャライザは、非静的フィールドメソッドまたはプロパティ 'Component.GetComponent ()'を参照できません。

public class PlayerMovement : MonoBehaviour 
{ 
    public float moveSpeed; 

    public static Rigidbody rb = GetComponent<Rigidbody>(); 
    private Vector3 input; 

    // Use this for initialization 
    void Start() 
    { 

    } 

    // Update is called once per frame 
    void Update() 
    { 
     input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); 
     GetComponent<Rigidbody>().AddForce(input); 
    } 
} 

答えて

0

UnityのGetComponent機能を機能の外に使用することはできません。それを関数に入れて、あなたはうまくいくはずです。この場合、Start()Awake()ファンクションに入れることが適切です。

public class PlayerMovement : MonoBehaviour 
{ 
    public float moveSpeed; 

    public static Rigidbody rb; 
    private Vector3 input; 

    // Use this for initialization 
    void Start() 
    { 
     rb = GetComponent<Rigidbody>(); 
    } 

    // Update is called once per frame 
    void Update() 
    { 
     input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); 
     GetComponent<Rigidbody>().AddForce(input); 
    } 
} 
+1

ご協力いただきありがとうございます。 – Travis

関連する問題