在unity中获取组件和物体的几种方法(通过代码)

本文介绍了在Unity游戏开发中获取组件和物体的多种方法,包括直接公开变量、使用Find和FindWithTag方法,以及如何获取和禁用组件,为开发者提供了实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在游戏开发过程中我们要获取unity中的组件和物体
在这篇博客中我将介绍几种方法来获取他们

1.在代码中直接public

在代码中直接public 类型 名称
然后在unity中赋值
这是最直接但是最不方便的方法 在小的项目中可以
但是在比较大的项目中是不可取的 因为物体组件很多很容易遗漏
从而出现很麻烦的Bug

2.Find方法

在unity中官方提供了一个Find的方法 很方便
这个方法的使用方法是 GameObject.Find(“物体名称”);
举个例子

GameObject Cube = GameObject.Find("Cube");
if(Input.GetKeyDown (KeyCode .Space))
        {
            Destroy(Cube);
        }

这些代码的意思是在unity中寻找一个名字叫Cube的物体
检测空格键的 按下 然后销毁Cube
很简单 在unity中不用任何操作 直接挂在任意一个物体上即可(除了要被销毁的Cube 会报错)

3.FindWithTag方法

这个方法与上边类似
用法是 GameObject.FineWithTag(“物体标签的名称”);
举个例子

GameObject Cube = GameObject.FindWithTag("Cube");
if(Input.GetKeyDown (KeyCode .Space))
        {
            Destroy(Cube);
        }

使用的时候与上边完全相同
前提是设置标签 不然没有查找到就会报错

在这里我说一下 就是上边两个方法
其中查找标签的方法效率比较高

4.介绍一下组件获取与取消

在组件的获取上
我们用一个相同类型的变量 然后获取该脚本挂在的物体上相应类型的组件
例子

 BoxCollider Colider = GetComponent<BoxCollider>();
 Rigidbody rig = GetComponent<Rigidbody>();

等这些
然后取消的话 先获取 之后

Colider.enabled = false;

注意在unity中组件前边可以取消的才可以用该方法
没有的不能使用 比如RigidBody 等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值