0

テキスト メッシュ オブジェクトの親であるクラスから TextMesh のテキスト コンポーネントにアクセスしようとしています。

このコードで遊んでいますが、変更できません。私が間違っているのは何ですか?追加の電話または何かする必要がありますか?

これは祖父母オブジェクト (この場合はカメラ) に保持されているコードです。平面は単なる平面オブジェクトであり平面と呼ばれるカメラの直接の子であり、テキスト メッシュは私の平面オブジェクトの子です。テキスト メッシュは FloorMenu と呼ばれます。

TextMesh text = (TextMesh)GameObject.Find("Plane").GetComponent("FloorMenu");
text.text = "test";

このコードを実行しようとすると、次のエラーが表示されます。ダブルクリックすると、次のtext.text行が表示されます。

NullReferenceException: Object reference not set to an instance of an object

私の知る限り、最初の行は、指定されたエラーを処理する TextMesh を指している必要があります。エラーが発生しているので、何か間違ったことをしているに違いありません。

誰かが私が間違っていることについて教えてもらえますか?

4

1 に答える 1

0

そのコード行を組み立てた方法では、NullReferenceException をスローしている部分を確認できません。

    // Note: This is C#

    var plane = GameObject.Find("Plane");

    var floorMenu = plane.GetComponent("FloorMenu"); // <-- FYI: GetComponent("FloorMenu") seems wrong (probably null).
    // var floorMenu = plane.GetComponent(typeof(TextMesh)); // this might work, depends on how your scene is structured.

    Debug.Log("is a TextMesh?: " + (floorMenu is TextMesh)); // Bet you this is false.  

    var text = (TextMesh) floorMenu;

    text.text = "test";
于 2013-10-18T19:13:42.487 に答える