• Object 对象
    • 示例:

    Object 对象

    UnityEngine.Object

    变量说明
    hideFlags由用户保存在场景或可修改的对象应该被隐藏么?
    name对象的名称
    方法说明
    GetInstanceID返回对象的实例ID。
    ToString返回对象的名称。
    静态方法说明
    Destroy删除一个游戏对象、组件或资源
    DestroyImmediate立即销毁物体对象,强烈建议使用 Destroy 代替。因为它可以永久性地销毁资源,此函数只应在编写编辑器代码时使用
    DontDestroyOnLoad加载新场景的时候使目标对象不被自动销毁。
    FindObjectOfType返回Type类型第一个激活的加载的对象。(效率非常低,不建议使用)
    FindObjectsOfType返回Type类型的所有激活的加载的物体列表。(效率非常低,不建议使用)
    Instantiate克隆原始物体并返回克隆物体。
    Operators 操作符说明
    bool对象是否存在?
    operator !=比较如果两个对象不相同。
    operator ==比较如果两个物体相同。

    示例:

    Object.Destroy

    会在 Update 之后,渲染之前执行销毁操作。

    1. public static void Destroy(Object obj, float t = 0.0f);
    2. // 删除当前游戏对象
    3. Destroy (gameObject);
    4. // 删除当前这个脚本
    5. Destroy (this);
    6. // 删除当前游戏对象上的刚体组件
    7. Destroy (rigidbody);
    8. // 5秒后删除这个游戏对象
    9. Destroy (gameObject, 5);

    Object.Instance

    1. public static Object Instantiate(Object original);
    2. public static Object Instantiate(Object original, Transform parent);
    3. public static Object Instantiate(Object original, Transform parent, bool worldPositionStays);
    4. public static Object Instantiate(Object original, Vector3 position, Quaternion rotation);
    5. public static Object Instantiate(Object original, Vector3 position, Quaternion rotation, Transform parent);
    6. 参数:
    7. original:需要被克隆的原始物体
    8. position:新物体的位置
    9. rotation:新物体的旋转
    10. parent:指定新物体的父物体
    11. worldPositionStays:当指定父物体以后仍保持原始的世界坐标
    1. using UnityEngine;
    2. public class InstantiateExample : MonoBehaviour
    3. {
    4. public GameObject prefab;
    5. void Start()
    6. {
    7. for (int i = 0; i < 10; i++)
    8. Instantiate(prefab, new Vector3(i * 2.0f, 0, 0), Quaternion.identity);
    9. }
    10. }

    实例化也能直接克隆脚本实例,整个游戏物体层次将被克隆,并且返回被克隆脚本的实例

    使用泛型的方式:

    1. using UnityEngine;
    2. public class InstantiateGenericsExample : MonoBehaviour
    3. {
    4. public Missile missile;
    5. void Start ()
    6. {
    7. Missile missileCopy = Instantiate<Missile>(missile);
    8. }
    9. }