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 回答