在Unity的编程中有会使用到查找物体这里总结一下几种查找物体的方式:
- 按名称
- 按标签
- 按类型(挂载组件)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class FindObj : MonoBehaviour
{
void Start()
{
print("按名称: " + GameObject.Find("name--01").name);
//查找到结果为单个物体
print("按标签(单个): " + GameObject.FindGameObjectWithTag("tag").name);
//查找到结果为所有符合的物体返回数组
GameObject[] Objs;
Objs = GameObject.FindGameObjectsWithTag("tag");
for (int i = 0; i < Objs.Length; i++)
{
print("按标签(多个): " + Objs[i].name);
}
//查找到结果为所有符合的物体返回单个数据
Button findObj = (Button)GameObject.FindObjectOfType(typeof(Button));
print("按类型查找(单个): " + findObj.name);
//查找到结果为所有符合的物体返回数组
Button[] findObjs = (Button[])GameObject.FindObjectsOfType(typeof(Button));
for (int i = 0; i < findObjs.Length; i++)
{
print("按类型查找(多个): " + findObjs[i].name);
}
}
}