报错:NullReferenceException: Object reference not set to an instance of an object

解决方法:来自 阶梯之上 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u011185231/article/details/49523293

报错:NullReferenceException: Object reference not set to an instance of an object
ObjectPooler.GetPooledObject (System.String tag) (at Assets/ObjectPooler.cs:55)
NoteSpawner.Start () (at Assets/NoteSpawner.cs:15)


以下是给自己看的

我的情况:2个类的变量都在start()方法中实例化,其中一个类去调用另一个类。
问题所在:在A类调用B类时,B类的变量可能还没有实例化。
解决方法:把B类(最先实例化)的变量放在Awake()方法实例化。

Unity脚本的生命周期

Awake():此函数始终在任何Start函数之前调用,也在预制件之后调用中的实例化。(如果GameObject在启动期间处于非活动状态,则在激活之前不会调用Awake,一直会到gameobject处于active状态的时候会被调用)
Start():仅在启用脚本实例时,才会在第一帧更新之前调用Start。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Sakura_Jun/article/details/82823842
今日推荐