Unity 为游戏对象设置标签 您所在的位置:网站首页 unity修改场景名 Unity 为游戏对象设置标签

Unity 为游戏对象设置标签

2023-10-19 10:09| 来源: 网络整理| 查看: 265

我们从【是什么】【为什么】【怎么用】三个问题,来讨论游戏对象的标签。

1. 什么是标签

标签 (Tag) 是可分配给游戏对象的参考词。例如,可为玩家控制的角色定义“Player”标签,为场景中的各种树木定义为“Tree”标签。

具体到Unity中,比如,我们新建一个游戏对象,那么,Inspector面板,开头就是个Tag的坑位。 在这里插入图片描述 值是Untagged,也就是没有具体标签值。

2. 为什么要有标签

标签不是必须的,默认可以不设置。只有在你脚本需要用时,才需要设置一下。一个典型的例子是,脚本中,你拿到了一个gameObject,但不知道这个是啥东西,就可以用tag来判断。

3. 怎么用标签 3.1 为游戏对象设置标签

点击旁边的小三角,有几个默认的标签,但一般咱不用,咱自己定义。也就是自己Add Tag. 在这里插入图片描述 出来的窗口,点击加号,就可以自定义一个Tag: 在这里插入图片描述 添加好了,就可以把Tag那一栏,设置为你要的标签。

3.2 在脚本代码中使用

我们以碰撞检测来说明。 假设有个脚本,绑定到了某个gameObject A,然后设置为刚体,这样另一个也是刚体的游戏对象B,位置着渐靠近这个A,会发生碰撞,脚本中,会回调一个函数,叫OnTriggerEnter2D。

void OnTriggerEnter2D(Collider2D collider) { if (collider.gameObject.tag.Contains("Fruit")) { //TODO collider.gameObject.GetComponent().GetStatus(); } }

代码如上,变量collider代表碰撞了谁,可以获得gameObject,但gameObject无法判断具体类型。

怎么办,就是通过读取tag,如果tag是Fruit,那说明碰到的物体,标签是Fruit。

假设碰到的物体B,它标签设置了“Fruit”,然后绑定了一个脚本叫“Fruit”,那想调用B的脚本函数,就可以用collider.gameObject.GetComponent(),后面跟上脚本的各种函数了,例如GetStatus()。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有