2014-12-06 162 views
2

出于某种原因,我得到它看起来像这样的错误:Unity2D:UnassignedReferenceException:变量尚未分配实例化

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

参照this;

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

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

+0

是的,你是对的,我把这段代码放在我的对象上而不是我的预制件上,非常感谢! – 2014-12-06 19:28:24