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);
相关推荐
虾球xz3 小时前
游戏引擎学习第295天:堆叠房间用于Z层调试
c++·人工智能·学习·游戏引擎
hellolxb4 小时前
Unreal Engine: Windows 下打包 AirSim项目 为 Linux 平台项目
linux·游戏引擎·虚幻
achonor7 小时前
UnityShader 植物被风吹弯效果
unity·shader·mesh
虾球xz7 小时前
游戏引擎学习第292天:实现蛇
c++·学习·游戏引擎
DanmF--7 小时前
Protobuf协议生成和使用
网络·unity·c#·游戏引擎·游戏程序
AgilityBaby7 小时前
关于在Unity项目中使用Post Processing插件打包到web端出现的问题
3d·unity·游戏引擎
FAREWELL0007515 小时前
Unity学习总结篇(1)关于各种坐标系
学习·unity·c#·游戏引擎
与火星的孩子对话1 天前
Unity3D开发AI桌面精灵/宠物系列 【六】 人物模型 语音口型同步 LipSync 、梅尔频谱MFCC技术、支持中英文自定义编辑- 基于 C# 语言开发
人工智能·unity·c#·游戏引擎·宠物·lipsync
虾球xz1 天前
游戏引擎学习第293天:移动Familiars
c++·学习·游戏引擎
敲代码的 蜡笔小新1 天前
【行为型之访问者模式】游戏开发实战——Unity灵活数据操作与跨系统交互的架构秘诀
unity·设计模式·c#·访问者模式