通过 Tag 标签查找物体
-
Tag 简介
-
Tag:标签。标签可以起到标识、区分的作用,同一类模型,我们可以根据需要给它们设置成统一的标签。
-
-
给模型添加 Tag 标签
-
选中一个模型,在其 Inspector 面板顶部,设置 Tag 选项为一个具体标签。
-
-
通过 Tag 标签查找 N 个物体
-
GameObject.FindGameObjectsWithTag(string):[静态方法]
-
通过特定的标签,查找到所有 “贴有” 该标签的游戏物体,返回一个数组。
-
String:标签名。
-
-
for 循环输出模型信息
-
通过 for 循环遍历 FindGameObjectsWithTag() 方法返回的数组,输出游戏物体的信息。
-
-
通过键盘按键实现桌椅跳动
扫描二维码关注公众号,回复: 3190981 查看本文章-
按下某键,桌椅全部上移 2 米。
-
抬起某键,桌椅全部下移 2 米。
private GameObject[] m_Desks; void Start () { m_Desks = GameObject.FindGameObjectsWithTag("Desks"); for(int i = 0; i < m_Desks.Length; i++) { Debug.Log(m_Desks[i].name); } } void Update () { if(Input.GetKeyDown(KeyCode.Z)) { DesksUp(); } if (Input.GetKeyUp(KeyCode.Z)) { DesksDown(); } } void DesksUp() { for(int i = 0; i < m_Desks.Length; i++) { m_Desks[i].GetComponent<Transform>().Translate(Vector3.up * 2, Space.Self); } } void DesksDown() { for (int i = 0; i < m_Desks.Length; i++) { m_Desks[i].GetComponent<Transform>().Translate(Vector3.up * -2, Space.Self); } }
-
触发器实现桌椅跳动
-
创建触发器
-
在桌椅的范围内,创建一个空物体,添加 Box Collider 并调整大小,勾选 “Is Trigger” 属性。
-
- 使用触发器实现桌椅跳动
- OnTriggerEnter()
- OnTriggerExit()
private GameObject[] m_Desks; void Start () { m_Desks = GameObject.FindGameObjectsWithTag("Desks"); } void DesksUp() { for(int i = 0; i < m_Desks.Length; i++) { m_Desks[i].GetComponent<Transform>().Translate(Vector3.up * 2, Space.Self); } } void DesksDown() { for (int i = 0; i < m_Desks.Length; i++) { m_Desks[i].GetComponent<Transform>().Translate(Vector3.up * -2, Space.Self); } } void OnTriggerEnter(Collider coll) { if(coll.gameObject.name == "Student") { DesksUp(); } } void OnTriggerExit(Collider coll) { if (coll.gameObject.name == "Student") { DesksDown(); } }