섹션 8.Scene SceneManager(1) 관련하여 질문이 있습니다
강의 영상 7분 경 씬 UI인 UI_Inven를 화면에 띄우는 코드를 PlayerController.cs 에서 GameScene.cs로 옮겼는데 Null 오류가 발생했습니다. PlayerController.cs 에 위 코드가 있을 때는 정상적으로 작동하는데 옮기면 계속 오류가 발생합니다.
오류로그

hierachy 창

인스펙터창


코드(GameScene.cs)
public class GameScene : BaseScene
{
void Start()
{
Init();
}
protected override void Init()
{
base.Init();
SceneType = Define.Scene.Game;
GameManager.UI.ShowSceneUI<UI_Inventory>();
}
public override void Clear()
{
}
}
코드(GameManager.cs)
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices.WindowsRuntime;
using UnityEngine;
public class GameManager : MonoBehaviour
{
static GameManager instance;
static GameManager Instance { get { Init(); return instance; } }
InputManager input = new InputManager();
public static InputManager Input { get { return Instance.input; } }
ResourceManager resources = new ResourceManager();
public static ResourceManager Resources { get { return Instance.resources; } }
private DataManager data = new DataManager();
public static DataManager Data { get { return instance._data; } }
private UIManager ui = new UIManager();
public static UIManager UI { get { return instance._ui; } }
void Start()
{
Init();
instance.data.Init();
}
void Update()
{
input.OnUpdate();
}
static void Init()
{
if(instance == null)
{
GameObject go = GameObject.Find("@GameManager");
if (go == null)
{
go = new GameObject { name = "@GameManager" };
go.AddComponent<GameManager>();
}
DontDestroyOnLoad(_go);
instance = go.GetComponent<GameManager>();
}
}
}
답변 1
1
public static UIManager UI { get { Init(); return instance._ui; } }
이렇게 수정해보세요.
여러 GameObject끼리 Start 호출 순서는 알 수가 없는데
운이 나쁘게 PlayerController가 먼저 Start되어
아직 Managers의 Start가 호출되지 않아 매니저가 초기화되지 않은 상태로 보입니다.
코드에 따라 저런 식으로 Init() 코드를 넣어두기도 합니다.
Pivot을 마우스로 클릭하고 드래그해도 움직이 않아서 혹시 아시는 부분이 있나 해서 문의 남깁니다.
0
12
1
ResourceManager 클래스 관련 질문
1
43
2
몬스터 HP 게이지바 이동
0
24
1
매니저 관련 질문이 있습니다.
0
76
2
비쥬얼 스튜디오에서 unity연결이 없습니다.
0
83
2
UI 기능 관련 질문이 있습니다!
0
74
2
픽셀 좌표 스크린 좌표
0
59
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
108
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
98
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
104
1
Input 적용과 관련하여 질문 있습니다.
0
94
1
디버그 불가.. Unity에 연결 불가
0
102
1
달리기 애니메이션 에러
0
101
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
75
1
GetKey 오류
0
133
2
에셋을 어디에 올려두신지 알 수 있나요?
0
115
1
재귀호출? 오류나는데 왜 이래요 ?
0
183
6
Animation blending 파라미터 계산
0
77
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
114
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
98
2
질문있습니다
0
160
2
아 이거 소스코드 같은거 없나요?
0
152
3
질문 드립니다. string.IsNullOrEmpty(name)
0
94
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
139
2





