赞
踩
Object类是Unity中所有对象的基类、例如GameObject、Component、Material、Shader、Texture、Mesh、Font等都是Object的子类
在Object类中,涉及到的实例方法主要有GetInstanceID方法
GetInstanceID方法:Object对象ID
基本语法
public int GetInstanceID();
功能说明
此方法用来返回Object对象的实例化ID
1、每个Object对象的实例、Object子类的实例如GameObject、Component等以及Object子类的子类的实例例如Transform、Rigidbody等在工程中都有唯一的ID(int类型)。
并且从程序开始运行到结束,除非对象被销毁,否则每个实例对应的ID都不会改变
2、从GameObject.CreatePrimitive()或Object.Instantiate()中创建或克隆的每个名字相同的GameObject对象都有唯一的ID,即虽然名字相同,但ID却是不同的。在游戏开发中有时需要生成大量的物体,而每个物体的生命周期需要单独记录,此时这两种方法很有用
在Object类中,涉及的静态方法有Destroy方法、DontDestroyOnLoad方法、FindObjectOfType方法、FindObjectsOfType方法和Instantiate方法。
基本语法
1、public static void Destroy(Object obj);
2、public static void Destroy(Object obj);
其中参数obj为待销毁的对象,参数t为销毁延迟时间,默认为0
功能说明
此方法的功能是在执行完本方法t秒后销毁obj对象。方法Destroy可以销毁一个GameObject对象,也可以销毁GameObject对象中的某个组件如Rigidbody、脚本等,但是除非销毁整个GameObject对象,否则不可单独销毁Transform组件,当销毁整个GameObject时GameObject的所有组件及子类将一并被消耗
注意DestroyImmediate可以立即销毁某个Object对象及其在Assets中的资源文件,编程中谨慎使用,建议使用Destroy方法代替
基本语法
public static void DontDestroyOnLoad(Object target);
其中参数target为被保留的对象
功能说明:
此方法用于设置参数target指向的对象是否在新Scene中被保留下来。
1、如果target为根物体的GameObject对象或GameObject对象中的某个组件,则物体自身及其子物体都会被导入到新Scene中,当然它们也可以在新Scene中进行编辑操作。
2、如果target不为根物体的GameObject对象或GameObject对象中的某个组件,则此方法将失效,即target及其子物体不会被导入到Scene中。
若想把场景中某个子物体导入到新Scene中,可以用Transform.DetachChildren方法进行父子层次关系分离,然后再导入新Scene中
基本语法
1、public static T[] FindObjectsOfType<T>() where T:Object;
2、public static Object[] FindObjectsOfType(Type type);
其中参数type为要获取的对象类型,可以是GameObject类型或Component类型。
功能说明:
此方法用于获取工程中所有符合参数类型的对象。不过此方法需要遍历整个工程,执行速度较慢,不适宜在每帧中调用。对于遍历的结果可以通过对象的name或InstanceID等属性进行有选择地处理。
FindObjectOfType方法与此方法功能相近,用于获取工程中符合type类型的第一个对象,多用于检测工程中是否含有某种类型的对象
基本语法
1、public static Object Instantiate(Object original);
2、public static Object Instantiate(Object original , Vector3 position , Quaternion rotation);
其中参数original为实例化对象的类型,参数position为实例化对象的位置,参数rotation为实例化对象的旋转角度
功能说明
此方法用于实例化一个Object对象。Instantiate可以实例化Object、object的子类已经Object子类的子类等。
当实例化一个对象时,会同时实例化根对象的所有子类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。