Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
unity c#使用.text后隐藏文本_C#_Unity3d_Text - Fatal编程技术网

unity c#使用.text后隐藏文本

unity c#使用.text后隐藏文本,c#,unity3d,text,C#,Unity3d,Text,所以我想隐藏一个文本。我通常使用.setActive(真/假),但如果我想在游戏运行期间更改文本,我会使用GameObject.text 问题来了:如果我使用Gameobject.text,我就不能再使用Gameobject.setActive了 仅供参考,这应该是高分,在后面跑,一旦你达到比赛目标就会被揭穿 因此,我为文本创建了一个SerializedField,并使用.Find来查找正确的对象 [SerializeField] private GameObject gameende; Ga

所以我想隐藏一个文本。我通常使用.setActive(真/假),但如果我想在游戏运行期间更改文本,我会使用GameObject.text

问题来了:如果我使用Gameobject.text,我就不能再使用Gameobject.setActive了

仅供参考,这应该是高分,在后面跑,一旦你达到比赛目标就会被揭穿

因此,我为文本创建了一个SerializedField,并使用.Find来查找正确的对象

[SerializeField] private GameObject gameende;

GameObject gameendee = GameObject.Find("gameende");
将其设置为false,使其隐藏

gameendee.SetActive(false);
我的分数是整数

punkte = 120 - (vergroessert * 10)+ ei;
我在课文中得了分数

gameendee.text = "Dein Punktestand: " + punkte.ToString();
现在我想做:

gameendee.SetActive(true);
但这不起作用

另一种方法是什么?

这是因为“GameObject.Find()”只查找活动的游戏对象


相反,您应该只查找一次游戏对象,并将引用存储在变量中。这也是muhc更高的性能

鉴于到目前为止您向我们展示的内容,没有理由SetActive(true)不在这种上下文中工作。如果删除SetActive()调用,它会工作吗?是的,我想。我在开始时设置为false,但我看到文本在游戏过程中发生了变化,只是因为setActive(false)没有显示出来。但是我在使用.text后无法实现它。错误消息说“text”没有setactive的定义。似乎您实际使用的是
text gameende
而不是
GameObject gameende
?=><代码>gameende.gameObject.setActive(true)我使用了GameObject gameende=GameObject.Find(“gameende”);嗯,那不可能是对的,因为你设置了“gameendee.text”,而游戏对象没有“text”属性。。。?