当前位置: 首页 > news >正文

网站怎么做图片栏目网站动态图片制作

网站怎么做图片栏目,网站动态图片制作,wordpress短代码引入小工具,工程建设领域包括哪些目录 GameObject基本成员变量 静态方法 创建自带几何体 1.查找对象 通过tag来查找对象 2查找多个对象 实例化对象(克隆对象)的方法 删除对象的方法 过场景不移除 Unity中的Object和C#中的万物之父的区别 成员方法 创建空物体 为对象 动态添加…

目录

GameObject基本成员变量

静态方法

创建自带几何体

1.查找对象

通过tag来查找对象

2查找多个对象

实例化对象(克隆对象)的方法

删除对象的方法

        过场景不移除 

Unity中的Object和C#中的万物之父的区别

成员方法

        创建空物体

      为对象 动态添加指定脚本

               标签比较

     设置激活失活

    次要的成员方法 了解即可 不建议使用       


GameObject基本成员变量

名字
        print(this.gameObject.name);
        this.gameObject.name = "哈哈哈哈";
        print(this.gameObject.name);


是否激活
        print(this.gameObject.activeSelf);


是否是静态
        print(this.gameObject.isStatic);

层级
        print(this.gameObject.layer);
标签
        print(this.gameObject.tag);
transform
        this.transform 上一节课讲解的 通过Mono去得到的依附对象的GameObject的位置信息
        他们得到的信息是一样 都是依附的GameObject的位置信息
        print(this.gameObject.transform.position);
 

静态方法

创建自带几何体


        //只要得到了一个GameObject对象 我就可以得到它身上挂在的任何脚本信息
        //通过obj.GetComponent来得去
        GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube);
        obj.name = "mmm";

1.查找对象


        两种找单个对象的共同点:
        1.无法找到失活的对象的 
          只能找到 激活的对象

        2.如果场景中 存在多个满足条件的对象
          我们无法准确确定找到的是谁 

        1查找单个对象
        通过对象名查找
       

这个查找效率比较低下  

因为他会在场景中遍历的所有对象去查找
        没有找到 就会返回null
        GameObject obj2 = GameObject.Find("某个物体");
        if( obj2 != null )
        {
            print(obj2.name);
        }
        else
        {
            print("没有找到对应对象");
        }


通过tag来查找对象


        GameObject obj3 = GameObject.FindWithTag("Player");
       GameObject obj3 = GameObject.FindGameObjectWithTag("Player");该方法和上面这个方法 效果一样 只是名字不一样而已
       

           
        if (obj3 != null)
        {
            print("根据tag找的对象" + obj3.name);
        }
        else
        {
            print("根据tag没有找到对应对象");
        }

2查找多个对象


        找多个对象的API 只能是通过tag去找多个 通过名字 是没有找多个的方法的

     

  通过tag找到多个对象
        它也是 只能找到 激活对象 无法找到失活对象
        GameObject[] objs = GameObject.FindGameObjectsWithTag("Player");
        print("找到tag为Player对象的个数" + objs.Length);

还有几个查找对象相关是用的比较少的方法 是GameObject父类 Object提供的方

   
       

Lesson4 o = GameObject.FindObjectOfType<Lesson4>();
print(o.gameObject.name);

它可以找到场景中挂载的某一个脚本对象
效率更低 上面的GameObject.Find 和通过FindWithTag找 只是遍历对象
这个方法 不仅要遍历对象 还要遍历对象上挂载的脚本 

实例化对象(克隆对象)的方法


实例化(克隆)对象 它的作用 是根据一个GameObject对象 创建出一个和它一模一样的对象
        GameObject obj5 = GameObject.Instantiate(myObj);
如果你继承了 MonoBehavior 其实可以不用写GameObject一样可以使用
因为 这个方法时Unity里面的 Object基类提供给我们的 所以可以直接用
Instantiate(myObj);

删除对象的方法


        GameObject.Destroy(myObj2);
 
         GameObject.Destroy(obj5, 5);  第二个参数 代表延迟几秒钟删除

Destroy不仅可以删除对象 还可以删除脚本
GameObject.Destroy(this);

删除对象有两种作用
     1.是删除指定的一个游戏对象
    2.是删除一个指定的脚本对象
注意:

这个Destroy方法 不会马上移除对象 只是给这个对象加了一个移除标识 
一般情况下 它会在下一帧时把这个对象移除并从内存中移除

如果没有特殊需求 就是一定要马上移除一个对象的话 

建议使用上面的 Destroy方法 因为 是异步的 降低卡顿的几率


        下面这个方法 就是立即把对象 从内存中移除了 
        GameObject.DestroyImmediate(myObj);

        如果是继承MonoBehavior的类 不用写GameObject
        Destroy(myObj2);
        DestroyImmediate(myObj);

        过场景不移除 


   默认情况 在切换场景时 场景中对象都会被自动删除掉

如果你希望某个对象过场景不被移除 
下面这句代码就是谁过场景被移除 就传谁 
一般都是传 依附的GameObject对象
比如下面这句代码的意思 就是自己依附的GameObject对象 过场景不被删除

       

GameObject.DontDestroyOnLoad(this.gameObject);


        如果继承MOnoBehavior也可以直接写
DontDestroyOnLoad(this.gameObject);
 

Unity中的Object和C#中的万物之父的区别


        Unity里面的Object 不是指的万物之父object
        Unity里的Object 命名空间在UnityEngine中的 Object类 也是集成万物之父的一个自定义类
        C#中的Object 命名空间是在System中的 

   

成员方法

        创建空物体


       new一个GameObject就是在创建一个空物体


        GameObject obj6 = new GameObject();


      为对象 动态添加指定脚本


        继承MOnoBehavior的脚本 是不能够去new 
        如果想要动态的添加继承MonoBehavior的脚本 在某一个对象上
        直接使用GameObject提供的方法即可


        Lesson1 les1 = obj6.AddComponent(typeof(Lesson1)) as Lesson1;


        //用泛型更方便
        Lesson2 les2 = obj6.AddComponent<Lesson2>();


        //通过返回值 可以得到加入的脚本信息
        //来进行一些处理

   得到脚本的成员方 和继承Mono的类得到脚本的方法 一模一样  


        
       标签比较


        下面两种比较的方法 是一样的
        if(this.gameObject.CompareTag("Player"))
        {
            print("对象的标签 是 Player");
        }
        if(this.gameObject.tag == "Player")
        {
            print("对象的标签 是 Player");
        }

     设置激活失活


        //false 失活
        //true 激活
        obj6.SetActive(false);
        obj7.SetActive(false);
        obj8.SetActive(false);

    次要的成员方法 了解即可 不建议使用
       


        下面讲的方法 都不建议大家使用 效率比较低
        通过广播或者发送消息的形式 让自己或者别人 执行某些行为方法

        通知自己 执行什么行为
        命令自己 去执行这个TestFun这个函数 会在自己身上挂在的所有脚本去找这个名字的函数
        它会去找到 自己身上所有的脚本 有这个名字的函数去执行
        this.gameObject.SendMessage("TestFun");
        this.gameObject.SendMessage("TestFun2", 199);

        广播行为 让自己和自己的子对象执行
        //this.gameObject.BroadcastMessage("函数名");

        向父对象和自己发送消息 并执行
        //this.gameObject.SendMessageUpwards("函数名");

       

http://www.yayakq.cn/news/119403/

相关文章:

  • 购物网站建设的可行性百度搜索引擎广告
  • 设计网站的一般过程微信平台开发教程
  • 建设网站的规则微商网站推广
  • wordpress进入后台空白qq群排名优化
  • 做支付宝二维码网站91关键词排名
  • 想学做网站学什么教程wordpress 微论坛主题
  • 珠海婚恋网站建设市场分析广告公司好听的名字
  • 南昌网站搭建制作公司网站备案照
  • 做器材的网站信息服务平台官网
  • 网站不备案访问天津网站建设服务电话
  • 富源县住房和城乡建设局网站珠海找工作哪个网站好
  • 做网站一定要注册公司吗网站建设发展方向有哪些
  • 做一个网站的步骤内蒙古app开发公司
  • flash怎么制作网站网站做百度小程序改造的好处
  • 成交型网站建设拉新奖励的app排行
  • 郑州二七区网站建设郑州有名的做网页的公司
  • 网站开发合作运营平台合同google adsense
  • 免费移动网站模板电子商务网站建设投资预算
  • 汾阳网站建设wordpress注册登录插件
  • 霸州做网站的教育局网站群建设方案
  • 设计师做网站的流程怎样做艾条艾柱网站
  • wordpress站点logo多大合适外管局网站做延期收汇报告
  • 企业网站推广营销做外贸上什么网站
  • 百度网站下拉排名网络设计属于什么专业
  • 怎么做轴承网站微信小程序登录流程
  • 网站延迟加载我要建个人网站
  • 外贸网站seo优化站长工具搜一搜
  • 兰州新区规划建设局网站怀化职院网站
  • 第三方网站开发优缺点wordpress get header
  • 天津企业模板建站wordpress如何添加注册登录界面