我正在为我的视频游戏创建一个级别选择。我有10个按钮,每个按钮都有不同的标签,每个按钮都附有相同的脚本。在附加的脚本中,我想检查该游戏对象的标签是什么,并将其打印在屏幕上。
这是我试过的代码 -
if (gameObject.tag = "LevelOne") {
Debug.Log("The tag for this GameObject is" + gameObject.tag);
}
但是我收到错误,因为我写的内容显然是错误的语法。 如何检查附加的GameObject的标签是什么?如果没有,我正在尝试做什么的替代方案?谢谢 - 乔治:)
答案 0 :(得分:2)
将变量与多个=
符号进行比较而不是一个。当您使用一个=
符号时,您将右侧的值分配给左侧的变量。在这种情况下,GameObject的标记将更改为LevelOne
,而不会显示if
语句。
if (gameObject.tag =="LevelOne")
{
Debug.Log("The tag for this GameObject is" + gameObject.tag);
}
您还可以使用CompareTag
函数代替==
来改善此代码。
if (gameObject.CompareTag("LevelOne"))
{
Debug.Log("The tag for this GameObject is" + gameObject.tag);
}
编辑:http://answers.unity3d.com/questions/200820/is-comparetag-better-than-gameobjecttag-performanc.html