2016-03-26 43 views
0

Unity 3D üzerinde sınıf nesnesinin dinamik örneklerini üretiyorum ve iyi çalışıyor, ancak ek bir bileşen eklemeye çalıştığımda TextMesh, I metin atamak için onlara erişemez. kodlardır: Ben nText özelliğine erişmeye çalışıyorum zaman,Unity 3D üzerinde Klonlanmış Nesne 'TextMesh' özelliği nasıl eklenir

Bubble.cs

public class Bubble : MonoBehaviour { 
    Vector3 offset = Vector3.zero; 
    Vector3 oldpos = Vector3.zero; 
    public Team team = Team.Green; 
    public Color teamColor; 
    float blastRange = 4.0f; 
    float moved = 0; 
    public TextMesh nText = new TextMesh(); 

    void Start() { 
     score = (Score)FindObjectOfType(typeof(Score)); 
     Game.game.bubbles.Add(this); 

     nText.text = "123"; 
    } 

} 

Ama hep null olduğunu. Ayrıca, bu TextMesh'u bir sahnede tanımlanan bir bileşene bağlayamıyorum çünkü tüm baloncuklar farklı değerlere sahip olmalıdır.

Bunu nasıl düzeltebilirim?

hatadır: UnassignedReferenceException: The variable nText of Bubble has not been assigned. You probably need to assign the nText variable of the Bubble script in the inspector.

+0

Eğer 'gameObject.AddComponent ()' Eğer cevap olarak yorumunuzu ekleyin eğer 'Start' yöntemi –

+0

@GuruStron I olarak işaretlemek olacak denediniz doğru. Bu işlerle! teşekkürler – MrMins

+0

yardım etmekten memnundu) –

cevap

0

sizin Start yöntemle

+0

Bu doğru, benim sahnemde yeni bir dinamik bileşene ihtiyacım var, bu hatayı almanın sebebi, şimdi çalışıyor. Teşekkürler – MrMins

0

Unity bileşenleri için yeni anahtar kelime kullanmak gerektiğini de

nText = gameObject.AddComponent<TextMesh>() 

deneyin.

public TextMesh nText = new TextMesh(); 

olmalıdır

public TextMesh nText = null; 

void Start() { 
     score = (Score)FindObjectOfType(typeof(Score)); 
     Game.game.bubbles.Add(this); 
     nText = gameObject.AddComponent("TextMesh") as TextMesh; 
     nText.text = "123"; 
    }