2016-10-25 19 views
-1

TextMeshのテキストを変更しようとしています。しかし、私は多くのことを試しましたが、それは何らかの理由で変わらないでしょう。私がそれをする方法は次のとおりです:3Dテキストのテキストを変更できない

public TextMesh text; 
public int count; 

void Start() { 
    count = 0; 
    text= gameObject.AddComponent<TextMesh>(); 
    text.text = "Counter: " + count.ToString(); 
} 

私はそれを同じままにします。これはエディタのText Meshに書いたテキストと同じです。私は2つの3Dテキストを持っていますが、私はまたgameObject.Find("CounterText")にしようとしましたが、どちらも助けになりませんでした。

+1

あなたは 'gameObject.GetComponent ();'を意味するのではないですか? –

+0

はい、それもやってみました.. :( – Hodhod

+0

私はここに何か不足していると確信しています。あなたは 'text'の_public_変数を持っていて、新しいテキストメッシュを作成してStart ? –

答えて

1

MissingComponentExceptionは:「缶 (1)」ゲームオブジェクトに添付NO「TextMesh」はありませんが、スクリプトがそれにアクセスしようとしています。

これは単に、あなたの質問内のスクリプトは、は、それに接続されているTextMesh成分を持っているゲームオブジェクトに接続されていないことを意味します。

gameObject.AddComponent<TextMesh>(); or AddComponent<TextMesh>(); 

は、スクリプトが添付されているGameObjectのコンポーネントにのみアクセスします。

ゲームオブジェクトを作成し、あなたのそれを選択し、コンポーネントに行く - >テキストメッシュ - >がメッシュ。テキストメッシュを好きなものに変更します。 Text Meshコンポーネントと

.Attachそのゲームオブジェクトに以下のスクリプト:

は、次のいずれかの操作を行います。ゲームオブジェクト.Find

public TextMesh text; 
public int count; 

void Start() 
{ 
    count = 0; 
    text = gameObject.GetComponent<TextMesh>(); 
    text.text = "Counter: " + count.ToString(); 
} 

Text Mesh成分は、それからText Mesh成分を取得し、その後 に取り付けられています。以下のスクリプトを任意のGameObjectに添付すると動作します。 GameObjectTextMeshIsAttachedToTextMeshのコンポーネントが接続されているGameObjectの名前に変更してください。

public TextMesh text; 
public int count; 

void Start() 
{ 
    count = 0; 
    text = GameObject.Find("GameObjectTextMeshIsAttachedTo").GetComponent<TextMesh>(); 
    text.text = "Counter: " + count.ToString(); 
} 
関連する問題