Unity2D:UnassignedReferenceException:尚未为变量分配实例化

时间:2014-12-06 18:24:29

标签: c# variables unity3d instantiation

出于某种原因,我收到的错误如下:

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);
}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

参考this;

  

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

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