繁体   English   中英

Start方法结束并按下按钮后,带有“ new”关键字的实例化类为null。 Unity3d

[英]Instantiated class with “new” keyword is null after Start method has ended and button is pressed. Unity3d

我有一个SaveController,它看起来像这样:

在此处输入图片说明

在MainMenuLogic类的Start方法中,我实例化SaveController的实例:

在此处输入图片说明

游戏开始时,在调用Start方法之前已调用MusicOn方法,因此soundController为null ...

在此处输入图片说明

public void MusicOn(bool on)
{
    saveController.MusicOn(on);
}

我显然不了解应用程序流程,因此想知道是否有人对可能出问题的地方有所了解。 我应该实例化SaveController的哪种方法?

附言:我知道,GameObject.Find,勃艮第……我正在重构,没有老手。

看起来Awake是我一直在寻找的方法。

Start之前调用Awake ,因此在Awake执行saveController实例化允许实例化在调用MusicOn之前MusicOn

void Awake() 
{
    saveController = new SaveController();
}

来源: https : //unity3d.com/learn/tutorials/topics/scripting/awake-and-start

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM