Das Script auf das Objekt ziehen, dann hat man mitthis. die Objekt-Eigenschaften.
Beispiel:

// Update is called once per frame
void Update () {
this.transform.Rotate (Vector3.left, rotationSpeed * Time.deltaTime, Space.World);
}

Hat ein Objekt dieses Script, dann dreht sich das Objekt.

Wie kann man ein anderes Objekt ändern?

Wie bekommt man ein anderes Objekt instantiiert? Über FIndByTag oder ähnliche Methoden?

Es ist einfacher!

Das Script bekommt ein public Property

public GameObject gameObject;

Nun kann man direkt von Unity darauf zugreifen und das Objekt, dass im Code benötigt wird benutzen. Beim Starten der Anwendung werden die Objekte dann injekted.
Im Beispiel soll sich nun ein anderes Objekt drehen, hier der Code

public GameObject gameObject;

public float rotationSpeed=60f;
 // Use this for initialization
 void Start () {
 }
 // Update is called once per frame
 void Update () {
 gameObject.transform.Rotate (Vector3.left, rotationSpeed * Time.deltaTime, Space.World);
 }

Und hier der Screenshot. Ein Objekt in der Welt hat das Script und das Objekt B wurde per Drag and Drop hinzugefügt.

Vorher
Bildschirmfoto 2015-02-12 um 21.26.32

Nachher
Bildschirmfoto 2015-02-12 um 21.25.44

 

Wie kann ich in Unity programmatisch ein Objekt ändern? (Drehen/Bewegen)

Thomas Michael


Softwareentwickler aus Leidenschaft.


Beitragsnavigation


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.