2016-03-26 9 views
0

Ich habe ein Objekt mit dem Namen ObjectA, dies ist eine 2D-Komponente, als Eigenschaft dieses Objekts habe ich eine TextMesh.Unity 3D ein Objekt innerhalb eines anderen Objekts ohne Auswirkungen zu drehen

public class Bubble : MonoBehaviour { 
    public TextMesh text; 

    void Start(){ 
      Game.game.objectA.Add(this); 
     var textMesh = gameObject.AddComponent<TextMesh>(); 
     text = textMesh; 
     text.text = "Hello world"; 
     text.transform.Rotate(73, 305, 307); 
    } 
} 

Nun, das Problem ist, beide Komponenten, die objectA geklont und die Eigenschaft text richtig in der Szene hinzugefügt, aber die objectA hat die gleiche Drehung seines Eigentums.

Wie kann ich unterschiedliche Rotation für beide Komponenten implementieren?

Antwort

0

Dies ist ein logischer Fehler. Wenn Sie Ihren Flow sorgfältig überprüfen. Sie versuchen, ObjectAObjectA hinzuzufügen. So haben diese ObjectA bereits ein Komponentenfeld, das am Anfang Null ist Spoiler-Warnung, kein Kind Dann erstellten Sie eine TextMesh-Komponente.

Dann weisen Sie ihm den Feldzeiger text zu. warum fügen Sie es nicht einfach direkt in den text Zeiger dann.

Schließlich drehen Sie die Komponente TextMesh, die ein Teil des ObjectA ist. Dadurch wird auch das Objekt A gedreht, da sie ONE gameObject sind. Sie müssen also 2 verschiedene Objekte erstellen und die anderen zu einem Kind mit der TextMesh-Komponente machen. Denken Sie immer daran, dass

Komponente Transformation, ist das gleiche wie das GameObject Transform. Jedes GameObject muss eine Transformationskomponente haben, ABER NUR EINE.

Hoffe das erklärt Ihr Problem.

Verwandte Themen