我正在尝试更改TextMesh
中的文字。但是,我尝试了很多东西,但由于某些原因它不会发生变化。我这样做的方式是:
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")
,但这也没有帮助。
答案 0 :(得分:1)
MissingComponentException:没有&#39; TextMesh&#39;附在&#34; Can (1)&#34;游戏对象,但脚本正试图访问它。
这只是意味着您的问题中的脚本不附加到附加了TextMesh
组件的GameObject。
gameObject.AddComponent<TextMesh>(); or AddComponent<TextMesh>();
只会访问附加脚本的GameObject上的组件。
创建一个GameObject,选择它,转到组件 - &gt; 网格 - &gt; 文字网格。将文字网格修改为您喜欢的内容。
执行以下操作之一:
1 。使用Text Mesh
组件将下面的脚本附加到该GameObject。
public TextMesh text;
public int count;
void Start()
{
count = 0;
text = gameObject.GetComponent<TextMesh>();
text.text = "Counter: " + count.ToString();
}
2 。找到附加Text Mesh
组件的GameObject
然后从中获取Text Mesh
组件。您可以将下面的脚本附加到任何GameObject,它将起作用。只需确保将GameObjectTextMeshIsAttachedTo
更改为TextMesh
组件所附加的GameObject名称。
public TextMesh text;
public int count;
void Start()
{
count = 0;
text = GameObject.Find("GameObjectTextMeshIsAttachedTo").GetComponent<TextMesh>();
text.text = "Counter: " + count.ToString();
}