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);
相关推荐
WarPigs1 小时前
Unity网络通信笔记
网络·unity
aerror5 小时前
如何正确的用Trae 打开 Unity 3D 项目
3d·unity·游戏引擎
步、步、为营7 小时前
.NET 的IOC框架Unity代码示例
unity·游戏引擎·.net
Magnum Lehar7 小时前
wpf游戏引擎的script实现
游戏引擎·wpf
留待舞人归10 小时前
【Unity优化】提高热更新和打包速度
游戏·unity·游戏引擎·unity3d·优化
tealcwu11 小时前
【Unity踩坑】Unity 6在Mac平台编译运行时去除‘trial version‘
macos·unity·游戏引擎
为你写首诗ge12 小时前
【热更新知识】学习一 Lua语法学习
unity·lua
为你写首诗ge13 小时前
【热更新知识】学习三 XLua学习
unity·lua
程序员小刘15 小时前
如何开始HarmonyOS 5与Godot引擎融合开发?
华为·游戏引擎·godot·harmonyos
T.D.C1 天前
【动画】Unity2D骨骼动画-Animation2D
unity·动画