返回介绍

什么是标记(Tag)?

发布于 2021-06-20 00:15:04 字数 1837 浏览 1512 评论 0 收藏 0

标记 (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)。有关更多信息,请参阅页面。

提示

  • 一个游戏对象 (GameObject) 只能被分配一个标记 (Tag)。
  • Unity 包含一些不出现在标记管理器 (Tag Manager) 中的内置标记 (Tag):
    • “无标记”(Untagged)
    • “重生”(Respawn)
    • “完成”(Finish)
    • “仅编辑器”(EditorOnly)
    • “主相机”(MainCamera)
    • “玩家”(Player)
    • 和“游戏控制器”(GameController)。
  • 您可以用喜欢的任意单词作为标记 (Tag)。(您甚至可以使用短语,但您需要将检视器 (Inspector) 变宽来查看标记的全名。)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文