什么是标记 (Tag)?

标记 (Tag) 是链接到一个或多个游戏对象 (GameObject) 的一个单词。例如,您可以对玩家控制的角色和非玩家角色分别定义玩家 (Player) 和敌人 (Enemy) 标记 (Tag);可以为玩家能在场景 (Scene) 中收集的物品定义可收集的 (Collectable) 标记 (Tag);依此类推。显然,标记 (Tag) 被用来识别游戏对象 (GameObject) 以便于脚本处理。我们可以用标记编写脚本代码,然后通过查找包含所需标记 (Tag) 的任意对象找到游戏对象 (GameObject)。这是通过使用GameObject.FindWithTag() 函数实现的。

例如:

//在带有“重生”(Respawn) 标记的游戏对象的位置 
//实例化 respawnPrefab


var respawnPrefab : GameObject;
var respawn = GameObject.FindWithTag ("Respawn");
Instantiate (respawnPrefab, respawn.position, respawn.rotation);

这使我们不必通过拖放手动添加游戏对象 (GameObject) 到脚本的公开属性。如果相同的脚本代码正被用于大量的游戏对象 (GameObject),这就是一个有用的节省时间的方法。另一个示例是触发碰撞体控制脚本,它需要算出玩家是在与敌人互动,还是在与一个随机道具或可收集的物品互动。标记使此类测试变得简单。

应用标记 (Tag)

检视器 (Inspector)会将标记 (Tag) 和下拉菜单正好显示在游戏对象 (GameObject) 的名称下面。要将标记 (Tag) 应用于游戏对象 (GameObject),只需打开标记 (Tag) 下拉菜单并选择需要的标记 (Tag):

现在游戏对象 (GameObject) 与此标记 (Tag) 相关联。

Creating new Tags

要创建一个新标记 (Tag),请单击下拉菜单结尾处的添加新标记... (Add new tag...) 选项。这将打开检视器 (Inspector) 中的标记管理器 (Tag Manager)。有关标记管理器 (Tag Manager) 的描述,请单击这里

层与标记 (Tag) 类似,但层用于定义 Unity 应如何渲染场景 (Scene) 中的游戏对象 (GameObject)。有关更多信息,请参阅页面。

提示

Page last updated: 2013-06-28