【问题标题】:Unity2D: UnassignedReferenceException: Variable has not been assigned instantiateUnity2D:UnassignedReferenceException:变量尚未被分配实例化
【发布时间】:2014-12-06 18:24:29
【问题描述】:

由于某种原因,我收到如下所示的错误:

UnassignedReferenceException: The variable LevelComplete of NPad1 has not been assigned.

这是我的代码:

public class NPad1 : MonoBehaviour {
public Sprite img1 , img2;
public Rigidbody2D LevelComplete;

void Start () {
    gameObject.GetComponent<SpriteRenderer> ().sprite = img1;
}

// Update is called once per frame
void OnTriggerEnter2D(Collider2D other) {
    gameObject.GetComponent<SpriteRenderer> ().sprite = img2;
    Instantiate (LevelComplete);
}

我做错了什么?

【问题讨论】:

    标签: c# variables unity3d instantiation


    【解决方案1】:

    参考this

    克隆原始对象并返回克隆。

    这意味着您必须在调用Instantiate() 之前实例化LevelComplete,这将返回现有 对象的克隆。您可能尚未在 Unity 检查器中设置实例。欲了解更多信息,请访问this guide 设置公共变量。

    【讨论】:

    • 是的,你是对的,我把这段代码放在我的 Object 上而不是我的 Prefab 上,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多