Unity-对象引用在编辑器中设置,但未在游戏中设置

时间:2018-08-25 11:20:15

标签: c# unity3d

我有一个Unity项目,其中门设置为GameObject“ Door”。可以并在编辑器中进行设置(即,当我不玩游戏时),但是一旦我点击播放,它就会变成“无(游戏对象)”。我的脚本使用门的刚体组件,但是我通过脚本访问它。我是否需要引用Rigidbody组件?

为什么要这么做?

using UnityEngine;

public class GameManager : MonoBehaviour {

    public GameObject door;

    void Start ()
    {
        door = GameObject.Find("Door1");
    }

    public void NextLevel () {
        Debug.Log("open");
        door.GetComponent<Rigidbody>().AddForce(0, 0, 500);
    }
}

1 个答案:

答案 0 :(得分:2)

这可能是脚本的lifecycle函数覆盖了引用。尝试将脚本附加到您的问题中,如果不能,请检查AwakeStartUpdateFixedUpdate函数(如果将其设置回{{ 1}}的错字。