๋ด๊ฐ ์๋ํ๊ฑด ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ณต์ด ํ์ ํ๋ ๊ฐ๋จํ ์ธํฐ๋์ ์ย
์ฐ์ ์ฆ์์ ์ด๋ฌํ๊ณ ย
์ฐ์ ์ด๊ฒ UI๋งค๋์ ์คํฌ๋ฆฝํธ์ธ๋ฐ ์ด๊ฒ ์ ๋ฒํผ์ ๋๋ฅด๋ฉดย
๋ถ๋ฆฐ์ 0์ด๋ 1๋ก ๋ฐ๊ฟ์ฃผ๊ฒ ์ง๋จ์ย
๊ทธ๋์ ์ด์ ์ ๊ธฐ์ ์ ๋ฐ์ดํธ ๋ inputClick ๋ถ๋ฆฐ์ ์ฌ๊ธฐ์ ๋ฐ์์์ผํ๋๋ฐย
๋ฐ์์ค์ง ๋ชปํ๋ ์ค์ ์ด์ ๊ฐ ๋ญ๊น? UI๋งค๋์ ์คํฌ๋ฆฝํธ์์ย
PlayerMovement ๋ก ๋ณ์ ์ ๋ฌ์ด ์๋๋๊ฑด๊ฐ;;;ย
๋ฒํผ์ ๋ฆฌ์ค๋ ์ฐ๊ฒฐ์ ํ์?
๋ ์ ๋ํฐ ๋ฒํผ ์ปดํฌ๋ํธ๋ฅผ ํตํด์ ๋ฆฌ์ค๋ ์ฐ๊ฒฐํด๋ณธ์ ์ด ์์ด์ ์ด๋ฐฉ๋ฒ์ผ๋ก๋ ๋ชจ๋ฅด๊ฒ ๊ณ ์ฝ๋์์์ ๋ฆฌ์ค๋ ์ฐ๊ฒฐํด์ฃผ๋๊ฒ ๊ฐ์ฅ ์ง๊ด์ ์ผ๋ก ์๋ํ๊ธด ํ๋๋ฐ.
ใด๋ฆฌ์ค๋๊ฐ ๋ฌด์จ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค... ์ ๋ํฐ ์ ๊ทผํ๊ธฐ ์ฌ์ด ํํ ๋ฆฌ์ผ ์์๊น C#์ด๋ ๊ฐ์ด ใ
์ผ ๊ทธ๋ฆฌ๊ณ playerScript์์ ๋๋ฐ์ํ๋๋ฐ player๋ผ๋ ๊ฐ์ฒด๋ ์ ์ฐพ์์ผ๋ฉฐ playerScript๋ PlayerMovement์ปดํฌ๋ํธ๋ฅผ ์ ์ฐพ์๋์ง ํ์ธํด๋ด
๋ฆฌ์ค๋ ๋ฌธ์ ๋ผ๊ธฐ๋ณด๋จ player๋ฅผ ๋ชป์ฐพ์๊ฑฐ๋ playerํํ PlayerMovement์๊ฑฐ๋ ์์์๋ ์ด์ ๋ก ๊ฒ ์ปดํฌ๋ํธ ์คํจํ์ฌ ๋ฐ์์ค์ง ๋ชปํด์ playerScript์ ์ฐธ์กฐ๊ฐ ์๋๊ฑฐ๊ฐ์๋ฐ
https://www.youtube.com/watch?v=Tcrg2KZck2Y
Init์ ํธ์ถ๋จ?
๋ด๊ฐ๋ณด๊ธฐ์ ๋๊ฐ ๊ตฌํ์ ๋คํด๋จ๋๋ฐ Initํจ์ ๋นํธ์ถ๊ฐ์ ์ฌ์ํ ๋์ ๋๋ฝ๋๋ฌธ์ ์๋๋๊ฑฐ๊ฐ์๋
์ฝ๋ฉํธ ๊ณ ๋ง์ ์ง๊ธ ๋ดค๋ค. ์์๋ก ๋ณด๋ด์ค ์์์ ๋ด์ฉ์ ๋ด๊ฐ ์ฐธ๊ณ ํ๋ ํํ ๋ฆฌ์ผ์์๋ ๋ค๋ฃจ๊ณ ์์ด. ๊ทผ๋ฐ ๋ด ๊ฒฝ์ฐ์ ๋ฒํผ์ ๋๋ ์ ๋ ๋ง๋ค ๊ณต์ ํ์ ์ด ์จ์คํ ๋๋ ํ์์ด๊ฑฐ๋ ๊ทธ๋์ ์๋ง ์ข ๋ค๋ฅธ ๊ฒ ๊ฐ์
http://m.blog.naver.com/gold_metal/220894565141
์ด๊ฑธ ์ฐธ๊ณ ํ์ด
ํ๋ฒ ๋ค์ ํ์ธํด๋ณผ๊ฒ
NullReferenceException: Object reference not set to an instance of an objectUImanager.ClickDown () (at Assets/script/UImanager.cs:18) UnityEngine.Events.InvokableCall.Invoke (System.Object[] args) (at
์ฌ์ ํ ์ด๋ ๊ฒ ์๋ฌ๊ฐ ๋จ๊ณ ์์... ์คํฌ๋ฆฝํธ๋ ์ ๋ถ ์ ์์ ์ผ๋ก ๋ฌ์๋จ๋๋ฐ์์ ;
Initํจ์๋ฅผ ๋๊ฐ ํธ์ถํด? ๊ทธ๋ผ ์ผ๋จ Init์ Awake๋ก ๋ฐ๊ฟ๋ด
์ธ์คํด์ค ์๋ฌ๊ฐ ๋จ๋๊ฑฐ๋ฉด ํด๋ฆญ๋ค์ด ํจ์๋ฅผ ํธ์ถํ๋ ๋ถ๋ถ์ ์์ง๋ง ๋ฐ๋๊ณณ์ด ์๋ค๋๊ฑด๋ฐ ์ธ์คํํฐ๋ฅผ ๋ด์ผ์ง ์์ธ์ ์ ์ ์์๊ฑฐ๊ฐ์๋งจ ์ ์ค์ท ๋ง๊ณ UImanager์ inspecter์ฐฝ์ ์ข ์ฐ์ด์ ๋ณด์ฌ์ฃผ๋ฉด ๋ฌธ์ ํด๊ฒฐ์ ๋์์ด ๋ ๊ฑฐ์ผ
์ ์๋ฌ๊ฐ playerScript๊ฐ ๋์ด๋ผ์ ๋จ๋๊ฑด๋ฐ ์ด๊ธฐํ ๊ณผ์ ์์ playerScript๋ฅผ ์ ์์ ์ผ๋ก ์ฐธ์กฐ๋ฅผ ์์ผ์ผ ๋ฉค๋ฒ๊ฐ์ ์ ๊ทผ์ ํ ์ ์๋๊ฑด๋ฐ ์ง๊ธ ์ ๊ฒ ๋์ด๋ผ์ ์ค๋ฅ๋จ๋๊ฑฐ์
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ด๊ธฐํ๋ฅผ ์ํค๋ ํจ์๊ฐ UIManager์ Initํจ์๋ก ํ๋จ๋๋๋ฐ ๊ทธ Initํจ์๋ฅผ ๋๊ฐ ํธ์ถํ๋๊ฑฐ๊ณ ๋ง์ฝ ํธ์ถ์๊ฐ ์์ผ๋ฉด ์ด๊ธฐํ๊ฐ ์๋์ผ๋ playerScript๋ ๋น์ฐํ ๋์ผ๊ฑฐ๊ณ ๋๋ฌธ์ PlayerMovement์ ๋ฉค๋ฒํ๋ inputClick์ผ๋ก ์ ๊ทผํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์
๊ทธ๋ฆฌ๊ณ Initํธ์ถํ ๋ playerScript๊ฐ ๋์ธ์ง๋ฅผ ๊ฒ์ฌํ๊ธฐ์ํ Debug.Log(playerScript != null)๋์ด์ ํ์ธํด๋ณด๊ณ
๊ทธ๋ฆฌ๊ณ ์์ ๊ด๋ฆฌ์๊ฐ ์์ผ๋ฉด ๊ฑ Init์ Awake๋ก ๋ฐ๊พธ์
๊ทธ๋ฆฌ๊ณ ์ด์ฉ๋ฉด playerํ๊ทธ๋ฅผ ๋ฌ๊ณ ์๋์ ๊ฐ 1๊ฐ ์ด์์ด๊ณ playerํ๊ทธ๋ฅผ ์ฐพ์์ ๋ฐ์์จ ๊ฐ์ฒด๊ฐ ์๋ฑํ ๊ฐ์ฒด๊ณ ๊ทธ์น๊ตฌ๊ฐ
PlayerMovement์ปดํฌ๋ํธ๊ฐ ์์ด์ ๊ฑธ๋ฌ์ง๊ฑธ ์๋ ์์ด ์ ๋ํฐ ๊ฒ์ปดํผ๋ํธ๋ ์ปดํฌ๋ํธ ์๋ค๊ณ ์ค๋ฅ๊ฐ์๊ฑฐ ์๋ด๋ฑ๊ฑฐ๋ ๊ทธ๋์ ๊ทธ๋ฐ๊ฑฐ ๊ฒ์ฌํด์ค์ผ๋
Init์ ๋๊ฐํธ์ถํจ