Colve

Code change world. Game change life.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Object类是Unity中所有对象的基类。

 
Object类实例方法
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类静态方法
Destory方法:销毁对象
基本语法 public static void Destory(Object object);
                public static void Destory(Object object,float t);
功能说明 此方法的功能是在执行完本方法t秒后销毁obj对象。方法Destory可以销毁一个GameObject对象,也可以销毁GameObject对象中的某个组件,Transform组件不可单独被销毁,当销毁某个GameObject时 所有子类被销毁。
 
DontDestroyOnLoad方法:新场景中保留对象
基本语法 public static void DontDestroyOnLoad(Object object);
功能说明 此方法用来设置参数target指向的对象是否在新Scene中被保留下来。
1.如果target为根物体的GameObject对象或GameObject对象中的某个组件,则物体自身及其子物体都会被导入到新Scene中,当然它们也可以在新Scene中进行编辑操作。
2.如果target不为根物体的GameObject对象或GameObject对象的某个组件,则此方法将失效,则target及其子物体不会被导入到新Scene中。若想把场景中某个子物体导入到新Scene中,可以用Transform.DetachChildren方法进行父子层级关系分离,然后再导入新场景中。
 
FindObjectsOfType方法:获取对象
基本语法 1.public static T[] FindObjectsOfType<T>() where T : Object;
                2.public static Object[] FindObjectsOfType(Type type);
功能说明 此方法用于获取工程中所有符合参数类型的对象。此方法需要遍历整个工程,执行速度较慢,不适宜在每帧中调用。对于遍历的结果可以通过对象的name或InstanceID等属性进行有选择的处理。
提示 FindObjectOfType方法与此方法功能相近,用于获取工程中符合type类型的第一个对象,多用于检测工程中是否含有某种类型的对象。
 
Instantiate方法:实例化对象
基本语法 1.public static Object Instantiate(Object object);
                2.public static Object Instantiate(Object object,Vector3 position,Quaternion rotation);
功能说明 此方法用于实例化一个Object对象。Instantiate可以实例化Object、Object的子类以及Object子类的子类等。当实例化一个对象时,会同时实例化根对象的所有子类。
posted on 2016-10-08 21:53  Colve  阅读(1342)  评论(0编辑  收藏  举报