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 等
转载:https://blog.csdn.net/weixin_44302602/article/details/98445497