c# - 在 Start 方法结束并按下按钮后,带有“new”关键字的实例化类为 null。Unity3d
问题描述
我有一个 SaveController,它看起来像这样:
在 MainMenuLogic 类的 Start 方法中,我实例化了 SaveController 的一个实例:
游戏开始时,在调用 Start 方法之前调用了 MusicOn 方法,因此 soundController 为空...
public void MusicOn(bool on)
{
saveController.MusicOn(on);
}
我显然不了解应用程序流程,所以想知道是否有人知道可能出了什么问题。我应该用哪种方法实例化 SaveController?
PS 我知道,GameObject.Find,bleurgh ......我正在重构,没有 wuckers。
解决方案
看起来 Awake 是我正在寻找的方法。
Awake
在调用之前调用Start
,因此在调用中进行saveController
实例化Awake
允许在调用之前进行实例化MusicOn
。
void Awake()
{
saveController = new SaveController();
}
来源:https ://unity3d.com/learn/tutorials/topics/scripting/awake-and-start
推荐阅读
- regex - package.json 中的负正则表达式
- javascript - Ramda 拒绝 - 有没有更优雅的方式来写这个?
- r - 如何在 xgb.plot.importance 上显示簇颜色?
- c# - AdsConnection 在第二个连接上抛出 EntryPointNotFoundException 但第一次工作
- ios - 基于 Realm 对象上的 Rx 侦听器更新 Realm 的问题
- c# - MS Word 应用程序退出事件仅在 Word 2007 上第二次后触发
- c# - 查询对象作为后端查询的参数
- sql-server - 为什么这个条目不插入
- mysql - 触发器插入所有行,而不仅仅是一个
- r - 将日期转换为儒略日期