我有一些代码,当它执行时,它抛出一个NullReferenceException,说:
你调用的对象是空的.
这是什么意思,我该怎么做才能解决这个错误?
我一直在关注几个教程系列,并且已经看到这两个系列以非常相似的方式使用,并且希望有人可以解释它们之间的区别,如果可能的话,还可以举例说明何时使用一个而不是另一个(假设它们实际上是相似的) !).
private LevelManager levelManager;
void Start () {
levelManager = GameObject.FindObjectOfType<LevelManager>();
}
Run Code Online (Sandbox Code Playgroud)
和
private LevelManager levelManager;
void Start () {
levelManager = GetComponent<LevelManager>();
}
Run Code Online (Sandbox Code Playgroud) 在这个新的统一版本中,我认为使用了SceneManager.但我无法找到如何在水平上加载SceneManager.
旧方式:
void OnLevelWasLoaded(){
// do something
}
Run Code Online (Sandbox Code Playgroud)
当我尝试旧的方式时,我得到了这个:
在MusicManager上找到OnLevelWasLoaded此消息已被弃用,将在更高版本的Unity中删除.将一个委托添加到SceneManager.sceneLoaded,以在场景加载完成后获取通知
我不知道如何使用
SceneManager.sceneLoaded();
Run Code Online (Sandbox Code Playgroud)
不知道要传递什么......