开发基础课件04unity类gameobject_第1页
开发基础课件04unity类gameobject_第2页
开发基础课件04unity类gameobject_第3页
开发基础课件04unity类gameobject_第4页
开发基础课件04unity类gameobject_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unity基础类-GameObject讲师:孙寅目录1GameObject-属性2GameObject-方法3GameObject-静态函数4Inspector视图的小技巧5GameObject-练习activeInHierarchy:判断对象在层级视图是否隐藏,隐藏为false,反之TrueacticveSelf:只读属性,得到当前对象的状态(隐藏/启用)Layer:对象所在的层isStatic:是否静态对象(静态对象表明只有一个)tag:对象的标签值transform:对象的位置,旋转,大小信息scene:场景,获得当前对象的场景相关的信息GameObject-属性GameObject-方法AddComponent AddsacomponentclassnamedclassNametothegameobject.CompareTag Isthisgameobjecttaggedwithtag?GetComponent ReturnsthecomponentofTypetypeifthegameobjecthasoneattached,nullifitdoesn't.GetComponentInChildren ReturnsthecomponentofTypetypeintheGameObjectoranyofitschildrenusingdepthfirstsearch.GetComponentInParent ReturnsthecomponentofTypetypeintheGameObjectoranyofitsparents.GetComponents ReturnsallcomponentsofTypetypeintheGameObject.GetComponentsInChildren ReturnsallcomponentsofTypetypeintheGameObjectoranyofitschildren.GetComponentsInParent ReturnsallcomponentsofTypetypeintheGameObjectoranyofitsparents.BroadcastMessageCallsthemethodnamedmethodNameoneveryMonoBehaviourinthisgameobjectoranyofitschildren.SendMessage CallsthemethodnamedmethodNameoneveryMonoBehaviourinthisgameobject.SendMessageUpwards CallsthemethodnamedmethodNameoneveryMonoBehaviourinthisgameobjectandoneveryancestorofthebehaviour.SetActive Activates/DeactivatestheGameObject.GameObject-静态函数Inspector视图的小技巧[HideInInspector]如何将一个private属性的字段在面板显示?[SerializeField]

如何查看游戏对象是否激活?activeInHierarchyGameObject-练习动态创建一个游戏对象给创建的对象设置名字给创建的对象设置大小给创建的对象设置Tag给创建的对象设置位置给创建的对象设置子物体给创建的对象设置添加一个组件给创建的对象设置设置父物体给创建的对象设置层获取游戏对象的组件获取游戏对象的属性GameObject-旧版课件重要属性:Name对象名,可以重复,无限数量Tag对象的标签,在Tags&Layer面板中设置当物体可能是空物体时,(游戏开发中,常用空物体去保存一些位置信息,空物体没有渲染,这时给物体添加一个图标,便于寻找与查看)Layer标记对象渲染组名字,常用于射线碰撞,摄像机裁剪,最多只能有32组查找游戏对象:1.通过名字查找GameObject.Find(stringname);此方法每次都会遍历整个场景,来寻找匹配的游戏物体,比较消耗资源2.通过Tag(标签)查找对象Gameobject.FindGameObjectWithTag(stringtag);通过tag标签进行查找GameObject.FindGameObjectsWithTag(stringtag)查找到所有挂载此标签的对象,并返回一个GameObject数组GameObject-旧版课件动态创建游戏物体(非内置)1.动态创建对象GameObject.Instantiate(objoriginal,Vector3Position,Quaternionrotation)可以设置位置与旋转2.简单版GameObject.Instantiate(objoriginal);简单版则不可以设置位置与旋转,都为默认值(0,0,0)

动态创建游戏物体(内置)动态创建基本游戏物体GameObject.CreatePrimitive(PrimitiveTypetype);创建一个带有基本网格渲染器和相应碰撞器的游戏物体。基本物体类型枚举Capsule胶囊Cube立方体Cylinder圆柱体Plane平面Quad正方形面片Sphere球形

GameObject-旧版课件删除游戏对象1.删除对象(或组件)GameObject.Destroy(Objectobj);(Objectobj,float1f);此方法可以有一个重载,后面还可以加一个时间参数,就是延时删除注意:删除完物体,物体还会存在于内存中,调用此方法时,只是给一个标记,内存中依然存在,只有内存不够,或一段时间内没有再次被引用时(或者更多的条件满足),机制才会对他进行销毁并释放内存2.立即删除对象(或组件)GameObject.DestroyImmediate(Objectobj);or(Objectobj,true/false);立即删除对象,+1重载,后可跟一个Bool值,表示是否销毁资源注意:小心使用,它能永久的销毁资源

GameObject-旧版课件动态获取组件

获取到自己身上的组件this.getComponent<XXX>();获取其他物体身上的组件transform.Find(“url”).getComponent<XXX>();在Inspector面板中能够看到的组件,都能够在代码中获取到,在Inspector中能够修改的,代码中也能够动态修改

GameObject-旧版课件SendMessage-发送消息:GameObject.SendMessageUpwar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论