如何检查当前GameObject的标签是什么?

时间:2016-08-19 06:31:41

标签: c# unity3d tags

我正在为我的视频游戏创建一个级别选择。我有10个按钮,每个按钮都有不同的标签,每个按钮都附有相同的脚本。在附加的脚本中,我想检查该游戏对象的标签是什么,并将其打印在屏幕上。

这是我试过的代码 -

if (gameObject.tag = "LevelOne") {
        Debug.Log("The tag for this GameObject is" + gameObject.tag);
}

但是我收到错误,因为我写的内容显然是错误的语法。 如何检查附加的GameObject的标签是什么?如果没有,我正在尝试做什么的替代方案?谢谢 - 乔治:)

1 个答案:

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