-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
11분 50초 실행결과
23.03.31 03:34 작성 조회수 52
0
NullReferenceException: Object reference not set to an instance of an object
Managers.get_Scene () (at Assets/Script/Mangers/Managers.cs:52)
->return Instance._ui;
LoginScene.Update () (at Assets/Script/Scenes/LoginScene.cs:21)
-> 오류 CS:21Managers.Scene.LoadScene(Define.Scene.Game);
public class Managers : MonoBehaviour
{
static Managers s_lnstance; //static이라는 전역변수를 통해 오브젝트인 @manager의 유일성이 보장된다
static Managers Instance
{
get
{
lnit();
return s_lnstance;
}
}
SceneManagerEx _scene = new SceneManagerEx();
public static SceneManagerEx Scene
{
get
{
return Instance._scene;
}
static void lnit() //Instance가 널인 상태를 해결하기 위해 사용됨
{
if (s_lnstance == null)
{
GameObject go= GameObject.Find("@Managers");
if (go == null)
{
go = new GameObject { name = "@Managers" };
go.GetComponent<Managers>();
}
DontDestroyOnLoad(go);
s_lnstance = go.GetComponent<Managers>();
}
}
}
public class LoginScene : BaseScene
{
protected override void Init()
{
base.Init();
SceneType = Define.Scene.Login;
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Q))
{
public class LoginScene : BaseScene
{
protected override void Init()
{
base.Init();
SceneType = Define.Scene.Login;
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Q))
{ Managers.Scene.LoadScene(Define.Scene.Game);
}
}
public override void Clear()
{
Debug.Log("Login Scene CLEAR!!!!!");
}
}
}
뭐가 문제인지 잘 모르겠습니다 . 구글링 해본 결과
널의 값을 가질 수 없는 오브젝트에 널을 할당했다고 그러는데 잘 모르겠습니다 ㅠㅠ
답변을 작성해보세요.
0
Rookiss
지공자23.03.31 03:45
if (go == null)
{
go = new GameObject { name = "@Managers" };
go.GetComponent<Managers>(); << Eagle Eye
}
답변 1