1. ๋ชฌ์คํฐ ์ค๋ธ์ ํธ์,ย ๋ฐฐ์ด์ ์ธย ํ ์์ดํ ์ ์ง์ด๋ฃ์.
2. ์์ดํ ์คํฌ๋ฆฝํธ์ ๋๋๋ฅ ๋ณ์๊ฐ ์์.
3. ๊ฒ์๋งค๋์ ์ ๋๋ boolํจ์ ์์
๋ชฌ์คํฐ๊ฐ ์ฃฝ์ผ๋ฉด
๋ฐฐ์ด ์, ์์ดํ ์คํฌ๋ฆฝํธ์ ๋๋๋ฅ ๋ณ์ ๊ฐ์ ธ์์,
๊ฒ์๋งค๋์ ์ boolํจ์์ ์ง์ด๋ฃ๊ณ ,
๊ฐ ๊ฐ์ ธ์์ ๋๋์ฌ๋ถ ํ๋จํ๊ฒ ํ๋ ค๊ณ ํ๋๋ฐ...
๊ฒ์ ์ค๋ธ์ ํธ ๋ด, public ๋ฐฐ์ด์ ์ํด์ง ์ค๋ธ์ ํธ์, ์คํฌ๋ฆฝํธ ๋ณ์ ์ด๋ป๊ฒ ๊ฐ์ ธ์์ผ ํจ?
๋ฐฐ์ด[i].getcomponent<์์ดํ ์คํฌ๋ฆฝํธ>();
์ด๋ ๊ฒ ์ฐ๋ค๊ฐ ๋์ ์ง 30๋ถ ์งธ
๋์์ ์์ฒญํฉ๋๋ค, ๋ฐฐ์ด ๊ทธ์์ฒด์ ์ด๊ณ ์ํ๋๋คใ ใ
bool ๋๋ํด๋ง์ = boolํจ์(๋ฐฐ์ด[i].GetComponent<์์ดํฌ์คํฌ๋ฆฝํธ>().๋๋์จ) ์ด๋ฌ๋ฉด๋จ?
๋๋์จ๋ง ๊ฐ์ ธ์ค๋ฉด ๋๋๋ก, ๋๋จธ์ง ๋ค ์ฐจ๋ ค๋จ๋๋ฐ, ๊ทธ๊ฑธ ๋ชป๊ฐ์ ธ์ค๊ฒ ์ ใ ใ
3D๋ผ์ ๋๋์จ์ ์์ดํ ์ค๋ธ์ ํธ ๋ง๋ค ๋ฃ์ด๋๊ณ , ๊ทธ ์ค๋ธ์ ํธ๊ฐ ๋ชฌ์คํฐ ๋ฐฐ์ด์์ ๋ฐํ์์. ๊ทธ๋์ ๊ทธ ๋ฐฐ์ด์์ ๋ฐํ, ์์ดํ ์ค๋ธ์ ํธ์ ๋ด๊ธด ๋๋์จ์ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๋ ์ด์ผ๊ธฐ์ต๋๋ค.
<> ์ด๊ฑฐ๋ ๋น๋ถ๊ฐ ์ฐ์ง ์๋๊ฒ ์ด๋จ๊น
๋ญ์๋ฆฐ์ง ์์๋ฃ๊ฒ ์ค๋ช ํด์ฃผ์๋ฉด 3๋๊ฐ ํ์จ๋ฌด์ฌํ ๊ฒ์ด์ต๋๋ค.
์ง๋ฅ์ด ์ข ๋ฎ๊ตฌ๋
ํ๋ ๋ง์์ ์ง์ํ์ฌ, <>() ๋ค ์ง์ ๋๋ ๋ญ๊ฐ ํฌ๋ง์ด ๋ณด์ ๋๋ค. ์ด๊ฒ์ด ์ ํ์ธ๋ค์ด ์์๋ค์ ์ํด ๋ฌผ๊ณ ๊ธฐ๋ฅผ ์ก์์ฃผ์ง ์๊ณ , ๋์๋ฅผ ๊ฐ๋ฅด์น๋ค๋ ๊ทธ๊ฒ์ ๊ต์ก๋ฒ์ ๋๊น?
์ ์ฃ์ก ใ ๋ค๋ฅธ ๊ฐค์์ ํ๋ ์ต๊ด๋๋ก ๋๋ตํ๋ค๋ณด๋ ใ <> ๋ ๋ญ๊ฐ ๋๊ฒ ์ข ๊น๋ค๋ก์ด๊ฑฐ ๊ฐ์์ ๊ทธ๋ฅ ํจ์คํ๋๊ฒ ์ด๋ป๊ฒ ใท๋๋ ์๊ฒฌ์ด์ฟ์ต๋๋ค. ใ ใ
๊ฒ์ปดํฌ๋ํธ ํ์ ๋งค๊ฐ ๋ณ์์ธ๋ฐ?
๊ทผ๋ฐ ์ ๊ตณ์ด ๋๋ ํ์ธ์ ๊ฒ์๋งค๋์ ์์ ํจ ๋ชฌ์คํฐ์์ ์ฒ๋ฆฌํ๋ฉด ๋๋๊ฑฐ ์๋๊ฐ.. ๊ทธ๋ฌ๋ฉด ๊ฑ enum์ผ๋ก ์กด๋ ์ฝ๊ฒ ์ฒ๋ฆฌ๋ ํ ๋
๋๋ํ์ธ์ ์ด๋์ ํ๋ ์๊ด์๋๋ฐ, ์์ดํ ์ค๋ธ์ ํธ์ ๋ด๊ธด ๋๋์จ์ ๋ชป๊ฐ์ ธ์ค๊ฒ ๋จ ๋ง์ด์...ใ
๋ ๋ ๋ง์ ์ดํด๋ฅผ ๋ชปํ๊ฒ ์ ์์ดํ ์ค๋ธ์ ํธ์์ ์ ๋ชป๊ฐ์ ธ์ค๊ฒ ๋ค๋ ๊ฑด์ง๋ ๊ฑ ๋ชฌ์คํฐ ์์ ๋๋๊ฐ๋ฅํ ์์ดํ ์คํฌ๋ฆฝํธ ๋ฐฐ์ด์ด ์์ผ๋ฉด ๋ฐฐ์ดi.getcomponent์์ดํ ์คํฌ๋ฆฝํธ.๋๋๋ฅ ํ๋ฉด ๋๋๋ฐ?
๋ง์. ์ด์ ๋ ๋ชจ๋ฅด๊ฒ ๋๋ฐ, ์๊น๋ .๋๋๋ฅ ๊น์ง ํ๊ณ ; ๋๋ ค๋ฃ์ผ๋ฉด, ๋น์ฃผ์ผ์คํ๋์ค์์ ์๊พธ ๋นจ๊ฐ ์ค ๊ธ๋๋ผ๊ณ ... ๊ทผ๋ฐ ์ด์จ๋ ํ๋์ ๋ง์์ ์ง์นจ์ผ๋ก ์ผ์, ๋ญ๊ฐ ์๊พธ ๋ฐ๊พธ๋ค๋ณด๋๊น ์ฑ๊ณตํ๋ค! ใณใณ ๊ทผ๋ฐ ์๊น ๋ด๊ฐ ๋ญ ์๋ชปํ์๋์ง ๋ชฐ๊ฒ ๋ค๋๊ฒ ์ฐ์ฐํ์ง๋ง ์ฌํผ ํด๋!
๊ทธ๋ฅ ์ฝ๋๋ฅผ ์ฌ๋ ค๋ผ ๋ต๋ตํ๋ค
ในใ ใ ใ
์ผ๋จ ์ฝ๋์์ด๋ ๋ช ํํ ์ค๋ช ์ ๊ธฐ๋ํ์ง๋ง. ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด[i].getcomponent<์์ดํ ์คํฌ๋ฆฝํธ>(); ์ด๋ ๊ฒ ํ๋ค๊ฐ ๋์ ์ง ์๋ค๋๊ฒ ๋ญ์๋ฆฌ? ๊ทธ๋ฅ ๊ทธ๋ ๊ฒ ํด๋ด ๊ทธ๋ผ. ์๋ ์ฝ๋๋ ๋ํ๊ณ ์ถ์๋๋ก;;ํ๋๊ฑฐ์. ์ ์์ด๋ผ๋๊ฑด ์์ด
ํ๋์ ๋ง์์ ๋์นจ๋ฐ ์ผ์ ๋จผ ๊ธธ์ ๊ฐ๋ฉฐ ๋ ๋ณด๊ณ ๋ ๋ณด๋ฉฐ ๊ฐ์ด์ ์๊ธฐ๊ฒ ์ต๋๋ค.
์ธ์คํํฐ์ฐฝ๋ ๊ฐ์ด์ฌ๋ ค๋ผ ๋ด ์์์๋ ์คํฌ๋ฆฝํธ ์์ฒด๋ฅผ ๋ชป๊ฐ์ ธ์ค๋๊ฑฐ๊ฐ์ ํ์์ปดํฌ๋ํธ์ด๋๊ฐ ๋ชฌ์คํฐ์ค๋ธ์ ํธ๋ ๋ฐฐ์ดํ๋ฆฌํน์ด๋๊ฐ
๊ทธ๋ฅ ๋ชนํํ ์ค๋กฏ์ด ๋ฐํ๊ฒ ๋ง์. ๋ง์น ์์ ์ ์ผ์ฒ๋ผ ๋ต๋ตํดํ๋ฉฐ ์ ๊ฒฝ์จ์ฃผ์๋ ํ๋์ ๋ง์์ ๊ฐํํ๊ณ ๊ฐ.
Debug.Log(๋ฐฐ์ด[i].getcomponent<itemScript>().๋๋์จ) ์ฐ์ด๋ณด๋๊ฐ
๊ทธ๋ฆฌ๊ณ ์ด๊ฑฐ ๋ง์ ใ ใ
๋ฐฐ์ดํ์ด ๋ชฌ์คํฐ์คํฌ๋ฆฝํธ๋? ๊ทธ๋ฆฌ๊ณ ๋ชฌ์คํฐ์คํฌ๋ฆฝํธ ๋ฌ๋ฆฐ ๊ฒ์์ค๋ธ์ ํธ์ ์์ดํ ์คํฌ๋ฆฝํธ(๋๋ํ ์ด๋ธ)๋ฐํ๊ฑฐ๊ณ ? ๊ทธ๋ฐ๊ฑฐ๋ฉด ์ ์ด์ ๋ชฌ์คํฐ์คํฌ๋ฆฝํธ์ public์ด๋ SerializedField๋ ์์ดํ ์คํฌ๋ฆฝํธ๋ฅผ ๋ฏธ๋ฆฌ ์บ์ฑํ๋ ์ธ์คํํฐ์์ ๋ฃ์ด์ฃผ๋ ํ ๋ค์์ GetComponent์์ด ๋ฐฐ์ด๋ก ์ฐธ์กฐํ ๋ชฌ์คํฐ์คํฌ๋ฆฝํธ์์ ์ง์ ์์ดํ ์คํฌ๋ฆฝํธ ์ ๊ทผํ๋๊ฒ ๋ ํธํ๊ณ ์๋๋ ๋น ๋ฆ GetComponent์์ฒด๋ฅผ ์์ธ์ ์๋ ๊ณ ์ ๋ ๊ตฌ์กฐ๋ฉด ์์ฐ๋๊ฒ ๋์
๋ชฌ์คํฐ ์คํฌ๋ฆฝํธ์ public GameObject[] dropItems; ์ ๊ธฐ์ ๋ฏธ๋ฆฌ ํ ๋ฐ์๋์ ๊ฑด ๋ง์. ๊ทผ๋ฐ ๊ทธ๋ฐ๊ฑฐ๋ผ๋ ๊ฒ์ปดํฌ๋ํธ ์์ด ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ๊ฒ์ ๋๊น?! ์๋ฆฌ์ผ๋ผ์ด์ฆ๋ํ๋๋ ๊ทธ๋ฅ ์จ๋ณด๊ธด ํ๋๋ฐ, ์ ๊ฒ ๋ ๋์ ๊ฒ์ด์๋ต๋๊น!?
๊ฐ๋ น A์ปดํฌ๋ํธ ์์ B์ปดํฌ๋ํธ๋ฅผ b๋ผ๋ ๋ณ์ํ์ผ๋ก ํผ๋ธ๋ฆญ์ผ๋ก ์ ์ธํ๋ฉด A์ปดํฌ๋ํธ๋ง ๊ฐ์ ธ์ค๋ฉด ๊ฑ A.bํด์ ๋ค์ด๋ ํธ๋ก ์ ๊ทผ ๊ฐ๋ฅํ์๋ ์น๊ตฌ์ผ getcomponent๋ ์ค์ ๋ก ์ปดํฌ๋ํธ๊ฐ ์๋์ง ์ฐพ์๋ค๊ฐ ๊ฐ์ ธ์ค๋๊ฑฐ๋ผ์ ํผํฌ๋จผ์ค ์ ํ๊ฐ์์ GameObject.Find๋ GetComponent๋ ์ ๋ ๊ฒ ์ง์ ์ ๊ทผํ๋๊ฒ๋ณด๋จ ์ฑ๋ฅ์ด ๋ธ๋ฆฌ๊ธฐ๋๋ฌธ์ ๋๋๋ก ์ฌ์์ ์ง์ํ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ฐํ๋๊ฒ ์ข์ (์ด์ฉ์ ์๊ฑฐ๋ ํผํฌ๋จผ์ค๊ฐ ์ง์ง ๋ฏธ๋ฏธํ๊ณ ๊ฐ๋ ์ฑ์ด๋ ๊ตฌ์กฐ ๋ฐ์ ธ์ ์ด๊ฑธ ์ฐ๋๊ฒ ๋ ๋ซ๋ค ํ๋จ๋๋ ๊ฒฝ์ฐ์ ์จ์ผ๊ฒ ์ง) ์ด๊ฑด ์ ๋ํฐ ์ด์ ์ cs์ดํด๋๋ ์ง๊ฒฐ๋๋ ๋ฌธ์ ์ธ๋ฐ, ๊ฐ๋ฐ ์์ํ์ง ์ค๋๋๊ฑด ์๋๊ฒ๊ฐ์ผ๋ ์ผ๋จ์ ๊ทธ๋ฅ ์ฐธ๊ณ ๋งํด๋ฌ ๋ญ๋ ์ผ๋จ ์์ฑํ๋๊ฒ ์ฐ์ ์ด์ง
Find๋ง ์งํฅํ๋ผ๊ณ ๋ฐฐ์ ๋๋ฐ, GetComponent ์งํฅํ๋ฉด ์ข์๊ฑฐ๊ตฌ๋. ๊ทผ๋ฐ ์ด๊ฑฐ ์์ด๋ ์ด๋ป๊ฒ ์๋ฌด๊ฒ๋ ๋ชปํ ๊ฒ ๊ฐ๋ค ใ ์ผ๋จ ์ฐธ๊ณ ํด๋๊ณ ๋์ค์ ์ค๋ ฅ์ด ๋๋ฉด์ ์ ํํ ์ ์๋ ์๊ธฐ๊ฐ ์ค๋ฉด ๊ทธ๋ฆฌํ๊ฒ ์. ์กฐ์ธ ๊ณ ๋ง์~
์ด๋ฐ๊ฑฐ ๋ฌผ์ด๋ณผ๋ ์ธ์คํํฐ๋ ํ์ด์ด๋ผํค ๋ฑ ์ฃผ๋ณ์ ๋ณด๋ฅผ ๋ค ์ค์ท์ฐ์ด์ ๊ฐ๊ณ ์ค๋๊ฒ ์ข์
๊ทธ๊ฑด ๋ง์
๋นจ๊ฐ์ค ์๋ฌ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ค๋ฉด ๋ฐ๋กํด๊ฒฐ์ด๋๋ผ
์ค๋ง private์ ์๋๊ฒ ์ง์ ํํ
๋ญ์๋๋ผ, ๋ฌ๊ธ์๋ ๋ฉ์ธ์ง์๋๋ฐ. ์ฌํผ ํด๊ฒฐํด์ ๋คํใ ใ