GameObject中的成员方法(比较常用的)

本文是跟着唐老狮unity入门课程整理的笔记,是为了自己以后复习温故用的。

void Start()
    {
        // 创建空物体
        GameObject gb1 = new GameObject();
        // 创建一个带有名字的空物体
        GameObject gb2 = new GameObject("有名字的物体");
        GameObject gb3 = new GameObject("物体1");

        // 为一个物体添加脚本(以gb2 为例子)
        gb2.AddComponent(typeof(Lesson2));
        // 使用泛型 为物体gb3添加脚本Lesson2
        gb3.AddComponent<Lesson2>();   // 常用!!!

        // 得到脚本的成员方法和继承Mono的类得到脚本的方法一样 GetComponent<>();
        gb1.GetComponent<Lesson1>();
        
        // 标签比较
        if (this.gameObject.CompareTag("Player"))
        {
            print("对象的标签是: Player");
        }
        if (this.gameObject.tag == "Player")
        {
            print("对象的标签是: Player");
        }
        // 以上两种方法结果效果一样

        // 设置激活失活
        // false ---失活  true --- 激活
        gb2.SetActive(false);
        gb3.SetActive(true);

        // 次要成员方法 不建议使用 效率较低
        // 通过广播或者发消息的形式,让自己或别人执行某些行为
        // 会找到自己身上有这个名字(Play)的方法的脚本去执行
        this.gameObject.SendMessage("Play");    // 双引号中是方法的名字

        //广播形式  找自己和自己的子对象身上符合要求的脚本执行
        this.BroadcastMessage("Play");

        // 向父对象和自己发送消息,寻找符合条件(有这个方法名的)的脚本执行
        this.SendMessageUpwards("play");
        
    }

    private void Play()
    {
        print("发消息让你玩!");
    }

猜你喜欢

转载自blog.csdn.net/m0_73113333/article/details/142618299