Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用“引用”实例化的类;新";启动方法结束并按下按钮后,关键字为空。Unity3d_C#_Unity3d - Fatal编程技术网

C# 用“引用”实例化的类;新";启动方法结束并按下按钮后,关键字为空。Unity3d

C# 用“引用”实例化的类;新";启动方法结束并按下按钮后,关键字为空。Unity3d,c#,unity3d,C#,Unity3d,我有一个SaveController,它看起来像这样: 在MainMenuLogic类的Start方法中,我实例化了SaveController的一个实例: 当游戏开始时,MusicOn方法在开始方法被调用之前被调用,因此soundController为空 我显然不了解应用程序流程,所以想知道是否有人知道可能会出现什么问题。我应该实例化SaveController的哪个方法 我知道,游戏对象,找到,布莱格。。。我正在重构,没有笨蛋。看起来唤醒是我正在寻找的方法 Awake在Start之前被

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

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

当游戏开始时,MusicOn方法在开始方法被调用之前被调用,因此soundController为空

我显然不了解应用程序流程,所以想知道是否有人知道可能会出现什么问题。我应该实例化SaveController的哪个方法


我知道,游戏对象,找到,布莱格。。。我正在重构,没有笨蛋。

看起来唤醒是我正在寻找的方法

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

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

来源:

还要检查脚本执行顺序:另一个选项是将saveController包装到一个属性中,该属性检查saveController是否为null,然后构造一个实例(如果为null)并返回saveController。谢谢大家。您会很高兴知道我几乎删除了GameObject的所有实例。查找:)请不要将代码添加为图像,而是作为文本添加到您的问题中。感谢derHugo提供的提示
void Awake() 
{
    saveController = new SaveController();
}