• 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 等

    转载:https://blog.csdn.net/weixin_44302602/article/details/98445497

  • 相关阅读:
    内向者生存手册
    不良言论屏蔽方案探讨——附加一点思考
    提高复用性的编码习惯
    如何管好.net的内存
    谨防信息超载
    .net的反对派们,精神比表面的东西更重要
    为什么我老是半途而废?
    对不起,我也是来给.Net泼冷水的(山寨版)
    把重要的事情先做好
    学英语(外语)的一个误区
  • 原文地址:https://www.cnblogs.com/xiaohanxixi/p/13212695.html
Copyright © 2020-2023  润新知