๊ฒ์ ์์ ๋ฒํผ์ ๋๋ฅด๊ธฐ ์ ๊น์ง ์คํฌ๋ฆฝํธ๋ฅผ ๋นํ์ฑํ ํด๋๊ณ ์ถ์ต๋๋ค.
์ด๋ป๊ฒ ํด์ผํ ๊น์?
์์ธํ ์ํฉ์ ์ด๋ ์ต๋๋ค.
A์ฌ์ย ์ต์ด ํ๋ฉด์ด๋ฉฐ ๋ก๋น์ ๋๋ค.
๋ก๋น์๋ START๋ฒํผ์ด ์์ผ๋ฉฐ ํด๋น ๋ฒํผ์ ๋๋ฅด๋ฉด B ์ฌ์ผ๋ก ๋์ด๊ฐ๋๋ค.
B์ฌ์๋ ํ์ด๋จธ ์คํฌ๋ฆฝํธ (50์ด)๋ฅผ ๋ง๋ค์ด ๋ฃ์์ต๋๋ค.
๊ทธ๋ฌ๋ ํ์ฌ ๊ฒ์์ ์ฌ์ํ๋ฉด ๋ก๋นํ๋ฉด์ ์์์๋ ๋ถ๊ตฌํ๊ณ ํ์ด๋จธ ์คํฌ๋ฆฝํธ๊ฐ ๋๊ณ ์์ต๋๋ค.
๊ทธ๋์ ์คํํธ ๋ฒํผ์ ๋๋ฅด๊ธฐ ์ ๊น์ง ํ์ด๋จธ ์คํฌ๋ฆฝํธ๊ฐ ๋์ง ์๋๋ก ํ๊ณ ์ถ์ต๋๋ค.
gameObject.GetComponent().enabled = false;
์ ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ์คํฌ๋ฆฝํธ๋ฅผ ๋ ์ ์๋ค๋๊ฑด ๊ตฌ๊ธ๋ง์ ํตํด ์๊ฒ ๋์์ต๋๋ค๋งย
์ด๊ฑธ ์ด๋ป๊ฒ ์ฌ์ฉํด์ผํ ์ง ์๋ฌธ์ ๋๋ค.
๋ฒํผ์ ์ด๋ฒคํธ๋ฅผ ๋ฃ์ด์ ๋ฒํผ ๋๋ฅด๋ฉด ํ์ด๋จธ ๋๊ฒ ๋ง๋ค๋ฉด ๋์ฅฌ
ํด๋ฆญ ์ด๋ฒคํธ
public void SceneChange() { SceneManager.LoadScene("SinglePlay"); gameObject.GetComponent<"TimeManager">().enabled = true; } ํ์ฌ ๋ฒํผ ํด๋ฆญ์ ๋ฐ์๋๋ ์ด๋ฒคํธ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ ๋์ต๋๋ค..ใ
์ฌ๊ธฐ์ TimeManager๋ ๋์ด๊ฐ ์ฌ์ ์กด์ฌํ๋ ์ค๋ธ์ ํธ์ ๋๋ค.
์ฌ ๋ฐ๋๊ณ ๋๋ฉด ์ฌ ๋ก๋ํ๋ ์ค๋ธ์ ํธ ์ธ๋ก๋ฉ ๋ ๋ค์ ์๋?
๊ทธ ๋ก๋ฉ๋ ์ฌ์์ ๋๊ฒ ๋ง๋ค๊ฑฐ๋, ์ฌ์ ๊ฐ์ด ๋ก๋ํ๊ฑฐ๋, OnSceneLoaded ์ด๋ฒคํธ ์ฐ๋์ง ๋ฐฉ๋ฒ์ ๋ง์๋ฐ
์ค๋ฅ๊ฐ ๋ญ๋ผ๊ณ ๋น๋๊น?
NullReferenceException: Object reference not set to an instance of an object StartButton.SceneChange () (at Assets/C#/StartButton.cs:23)
๊ฒ์ปดํฌ๋ํธ๊ฐ Null ๋ฆฌํดํ๊ฑฐ ๊ฐ์๋ฐ?
๊ทธ๋ฅ ๋ฐ๋ณต๋ฌธ ๋ฃ์ด์ ๋ณ์๊ฐ 1๋ก ์ค์ ๋์ด ์์ผ๋ฉด ํ์ด๋จธ๊ฐ ๋๋๋ก ์ค์ ํด๋์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ ๊ฑธ ๊ดํ ๊ตฌ๊ธ๋งํด์ ์ ๋ชจ๋ฅด๋ ํจ์ ํ๋ฒ ์จ๋ณด๋ ค๊ณ ๊ณ ์ํ๋ค์. ๋์์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค (__)
ํ์ด๋จธ๊ฐ ํ๋ก๊ทธ๋จ ์์ ์๊ฐ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋๊ฒ ์๋๊น? ์ฌ์ด ๋ถ๋ฆฌ๋์ด์๊ณ ์ปดํฌ๋ํธ๋ ๋นํ์ฑํ๋์ด ์์ผ๋ฉด ๋์ํ ์ด์ ๊ฐ ์์ํ ๋ฐ. ๊ทธ๋ฆฌ๊ณ ์ปดํฌ๋ํธ๋ฅผ ๋นํ์ฑํ ํด๋ Update()๋ง ์๋๋๊ฑฐ์ง Start() ์ผ๋จ ์คํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ๋ ์๊ฐํด์ผ ํจ.