2016-05-08 3 views
0

Was ist mit diesem Code falsch?Ich verstehe nicht, was das bedeutet CS0120 C# Ein Objektverweis wird für das nicht statische Feld, die Methode oder die Eigenschaft benötigt

Ich möchte nur ein Objekt von links nach rechts bewegen; Gibt es einen besseren Weg?

using UnityEngine; 
using System.Collections; 

public class test : MonoBehaviour 
{ 
    public float speed = 5f; 

    // Use this for initialization 
    void Start() 
    { 
     // no-op 
    } 

    //Update is called once per frame 
    void Update() 
    { 
     Transform.Translate(speed,0f,0f); 
    } 
} 

Antwort

1

UnityEngine.Transform.Translate() ist eine Instanzmethode, die Sie jedoch aufrufen, als ob sie statisch ist.

MonoBehaviour has a transform Eigenschaft, die ich vermute, was Sie suchen - ein bisschen verwirrend wie es Kleinbuchstaben ist (was auch eine ungewöhnliche Konvention für C# ist). Ändern Sie die Zeile, die (klein geschrieben) verwenden transform Eigenschaft:

void Update() { 
    transform.Translate(speed,0f,0f); 
} 
+0

i scheinen kann nicht, um es zu arbeiten, wenn ich das tun ... was ich tun möchte, ist eine Starrkörper bewegen sich über dem Boden machen nach rechts – jackoridd7