Unity中GameObject中的常用方法

1、静态方法

(1)根据对象名(游戏物体)查找对象

cs 复制代码
        GameObject obj2 = GameObject.Find("Holens");
        if( obj2 != null )
        {
            print(obj2.name);
        }
        else
        {
            print("没有找到对应对象");
        }

(2)通过tag来查找对象

cs 复制代码
GameObject obj3 = GameObject.FindWithTag("Player");

(3)查找多个对象

cs 复制代码
GameObject[] objs = GameObject.FindGameObjectsWithTag("Player");
print("找到tag为Player对象的个数" + objs.Length);

!!!注意:这些方法都无法找到失活的对象!!!

(4)摧毁对象

cs 复制代码
        GameObject.Destroy(myObj2);
        //第二个参数 代表延迟几秒钟删除
        GameObject.Destroy(obj5, 5);
        //Destroy不仅可以删除对象 还可以删除脚本
        GameObject.Destroy(this);

如果类继承了Mono,那可以不写GameObject

2、成员方法

(1)为对象添加脚本

cs 复制代码
Lesson2 les2 = obj6.AddComponent<Lesson2>();

(2)标签比较

cs 复制代码
        if(this.gameObject.CompareTag("Player"))
        {
            print("对象的标签 是 Player");
        }

(3)设置激活失活

cs 复制代码
obj6.SetActive(false);
obj6.SetActive(true);
相关推荐
在路上看风景1 天前
## 2.2 状态同步
unity
霜绛1 天前
Unity:lua热更新(一)——AB包AssetBundle、Lua语法
笔记·学习·游戏·unity·lua
霜绛1 天前
Unity:lua热更新(二)——Lua语法(续)
笔记·学习·unity·游戏引擎·lua
yi碗汤园1 天前
【一文了解】C#反射
开发语言·unity·c#
HahaGiver6661 天前
Unity Shader Graph 3D 实例 - 基础的模型贴图渲染
3d·unity·游戏程序·贴图·游戏美术
HahaGiver6661 天前
Unity Shader Graph 3D 实例 - 一个简单的3D打印效果
3d·unity·游戏引擎
AA陈超1 天前
ASC学习笔记0004:通知相关方能力规格已被修改
c++·笔记·学习·游戏·ue5·游戏引擎·虚幻
胖胖求游戏1 天前
Unity热更新——AB包和Lua
unity·游戏引擎·lua
为你写首诗ge1 天前
【Unity知识分享】Unity中获取Pico设备的序列号(SN码)
unity
B0URNE1 天前
什么是虚拟现实(VR)?
unity·ue5·vr