NullReferenceException: Object reference not set to an instance of an object(GameManager.instance为空)

时间:2024-03-21 19:37:56

NullReferenceException: Object reference not set to an instance of an object(GameManager.instance为空)
通过Debug发现GameManager.instance为空。
NullReferenceException: Object reference not set to an instance of an object(GameManager.instance为空)
那么为什么会出现这个情况?我们分别在Enemy和GameManager的Awake()中添加一个Debug.Log。
NullReferenceException: Object reference not set to an instance of an object(GameManager.instance为空)
NullReferenceException: Object reference not set to an instance of an object(GameManager.instance为空)
NullReferenceException: Object reference not set to an instance of an object(GameManager.instance为空)

通过Debug我们发现,Enemy脚本比GameManager先执行,当在Enemy的Init()中调用IsEnemythis);时,由于GameManager.instance还没有初始化,所以报NullReferenceException。
NullReferenceException: Object reference not set to an instance of an object(GameManager.instance为空)

解决方法
GameManager.instance.IsEnemy(this);放入Start()方法中。
NullReferenceException: Object reference not set to an instance of an object(GameManager.instance为空)