์ฌ์ง์ ๋ด์ฉ์ด ๋ค์ด๊ฐ ์ ์ค๋ธ์ ํธ๋ฅผ ํ๋ฆฌํนํ ์์ผฐ์
๊ทธ ํ ํ๋ฆฌํน๋ ํ๋ก์ ํธ ์ฐฝ์ ์ ์ instantiate ํ๋๋ฐ ์ด ์ ๋ค์ด ๊ฐ๋งํ ์๊ธธ๋ ์ฝ์์ฐฝ์ ๋ณด๋ ํ๋ ์ด์ด๋ฅผ ์ฐพ์ ์ ์๋ค๊ณ ํจ
๊ทธ๋์ ํ์ธํด๋ณด๋
์ฌ์ง์ฒ๋ผ ๋์ด์๊ณ ํ์ด์ด๋ผํค ์ฐฝ์ ํ๋ ์ด์ด๋ฅผ ๋๋๊ทธ ์ค ๋๋กญ ํ๋ ค ํด๋ ์๋จ.
์ ๋ง ๊ธฐ์ด์ ์ธ๊ฑฐ ๊ฐ์๋ฐ transform์ private๋ก ํ๋ค์์
player = findgameobjectwithtag๋ก ์ฐพ์์ผ ํ๋?
ํผ๋ธ๋ฆญ์ผ๋ก ๋ฃ์ ๋ฐฉ๋ฒ์ ์์ ์์๊น?
---
๊ฒฐ๊ตญ public๋ก ์ด๊ฑฐ์ง๋ก ๋ฃ๋๊ฑฐ๋ณด๋ค ๋ณธ๋ฌธ์์๋ ์ ์ด๋์ย ย findgameobjectwithtag๊ฐ ํจ์ฌ ๋์๊ฑฐ ๊ฐ์์ ์ด๊ฑธ๋ก ํจ..
๊ท์ฐฎ์์ public๋ก ํ๋ ค๊ณ ํ๋๋ฐ.. ์์ฌ์
ํ๋ ์ด์ค(๋ฐํ์)์ ๋๋กญํ๋๊ฑฐ๋ผ ๋น์ฐํ ์๋ ํ ๊ณ .. ์๋ํฐ์์ ๋๋กญํด์ผ ์ ์ฉ๋๋๊ฑด๋ฐ, ์์ฑ์๊ฐ ์๊ธฐํ ๋ฐฉํฅ์ด ๋ง์๋ณด์ฌ์. ํ์ง๋ง public์์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ๊ตฌ์กฐ์ฒด๋ก ํ๋ฆฌํนํํ๋๊ฒ ์๋๋ผ ์ ์ ๋ณด๋ฅผ ๋ด์ ํ๋ฆฌํน์ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ฉด ๋๊ธดํฉ๋๋ค
์๋๋ฉด ์ ์ด๋ผ๋ GameObject๋ฅผ ์์ฑํ๋, [RequireComponent(typeof(RigidBody)] ์ด๋ฐ์์ผ๋ก ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ์ฌ์ฉํด์ ํ์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ด ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค
์ ๋ณด๋ฅผ ๋ด์ ํ๋ฆฌํน์ ๋ง๋ ๋ค๋๊ฒ ๋ฌด์จ ๋ง์ธ์ง ์๊ฒ ๋๋ฐ ์ธ๋ฐ์์ด ๋ฒ๊ฑฐ๋ก์ด๊ฑฐ ๊ฐ์์ ๊ทธ๋ฅ findgameobjectwithtag์ ์ด์ฉํ์ฌ start์์ ํ๋ฒ ์์น ์ฐ๊ณ ์ฐพ์์์๊ฒ ํ๋ ค๊ณ ํฉ๋๋ค ใ ใ ..prefab์ ๊ตฌ์กฐ๊ฐ ํธํ๋ฏ ํ๋ฉด์๋ ์๊ทผ ๋ถํธํ๋ค์..๊ทธ๋ฆฌ๊ณ ์๋์ [RequireComponent(typeof(RigidBody)] ์ด๊ฑด ์ฒจ๋ณด๋๊ฑฐ๋ผ ์ ๊ฐ ์ดํด๋ฅผ ์ ๋ชปํด์ ๊ทธ๋ฐ๋ฐ ํน์ ๊ด๋ จ ์๋ฃ๋ฅผ ๋ณด๋ ค๋ฉด ๋ญ๋ผ ๊ฒ์ํด์ผํ ๊น์?
๋ค ๊ทธ๋ ๊ฒ ์ฌ์ฉํ์๋ฉด ๋๊ฒ ๋ค์!
์ฌ๊ธฐ ๊ณต์๋ฌธ์ ๋งํฌ์ ๋๋ค
https://docs.unity3d.com/kr/530/ScriptReference/RequireComponent.html
๋ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋น ์ต์ ์ ์ ํ๋ฆฌํน ์์ฑ ๊ด๋ฆฌํ๋ ๋งค๋์ ํด๋์ค ๋ฐ๋ก ๋ง๋ค์ด์, ๊ฑฐ๊ธฐ๋ค๊ฐ player ๋๋กญํด๋๊ณ ์ ํ๋ฆฌํน ์ธ์คํด์์ํธ ํ ๋๋ง๋ค player ํ ๋นํด์ฃผ๋ ์์ผ๋ก ํจ
๊ธ๊ณ ์์ ์ฌ๋์ด ๋งํ๊ฑด ๊ฑ ํ๋ฆฌํน ๋ชธ๋ฑ์๋ฆฌ๋ง ์์ฑํด์ ๊ฑฐ๊ธฐ๋ค๊ฐ ์ ์ ๋ณด๋ฅผ ๋ด์ ํด๋์ค ์ปดํฌ๋ํธ๋ฅผ ๋ถํ์ฃผ๋ ๋ฐฉ์์ธ๋ฐ ์ด ๊ฒฝ์ฐ์๋ ๋งค๋์ ํด๋์ค์์ ๋ฐ๋ก ๊ด๋ฆฌํ๋ฉด์ ์ ํ๋ฆฌํน ์ ๋ณด initilaizeํ ๋ player ํ ๋นํด์ฃผ๋ ์์ผ๋ก ํ๋๊ฒ ์กฐ์
์๋ํ๋ฉด findgameobjectwithtag ์ด๊ฑฐ ์ฐ๋๊ฑด ในใ ๋น์ถ๋ผ์, ์ฅ๊ฐํ๋ฉด ์์ฐ๋ ๋ฐฉํฅ์ผ๋ก ํ๋๊ฒ ์ข์
ํน์ ์ด๋ค ์ด์ ๋ก ๋น์ถํ๋๊ฑฐ์? ๊ฐ์ฅ ์ง๊ด์ ์ด๊ณ ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ ์ ์์ด์ ์ด๋ ๊ฒ ํ๊ธด ํ๋๋ฐ
ํธ์์ฑ์ผ๋ก ๋ฐ์ง๋ฉด ํน๊ฐ ํจ์์ด๊ธด ํจ ๊ทผ๋ฐ ์ด๊ฑฐ๋ ์ ๋ํฐ ๊ณตํ์๋ ๋์ ์๋๊ฑด๋ฐ, ์ฑ๋ฅ ๋งค์ฐ ์ก์๋จน์ด์ ์ต์ ํ ์๊ฐํ๋ฉด ์์ฐ๋๊ฒ ์ข์. ์๊ฐ์์ด ๋ง ์ฐ๋ค๊ฐ๋ ๋์ค์ ํผ๋ด. ๋ด๊ฐ ๊ทธ ๊ฒฝํ์์ ใ ใ ใ ใ .ํนํ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ ํ๋๊ฑฐ๋ฉด ๋ฌด์กฐ๊ฑด ์์จ์ผ๋จ ใ ใ
์ฑ๋ฅ ์ผ๋งํผ ์ก์๋จน๊ธธ๋ ?? ์ฒด๊ฐ ํผ? ์ ํจ์ ์ข ๋ง์ด ์ฌ์ฉํ๋๋ฐ ๋ค ๊ฐ์์์ด์ผ ํ๋..
๊ทธ๋ฆฌ๊ณ ํ๋ ๋ง ๋ถํ์๋ฉด ๊ผญ ์ ํจ์์ฌ์ฉ์ ํผํ๊ธฐ ์ํด์ ๋ฟ๋ง์๋๋ผ ๋์ค์ ํ์ฅ์ฑ๊ฐ์๊ฑฐ ๊ณ ๋ คํ์๋, ๊ด๋ฆฌํ๋ ๋งค๋์ ํด๋์ค ๋ง๋ค์ด ๋๋๊ฒ ์ฒจ์ ๊ท์ฐฎ์๋ ๋์ค ๊ฐ๋ฉด ๋งค์ฐ ํจ์จ์ ์ด๊ณ ํธํ๊ฒ ๋๊ปด์ง๊ฒ์
GameManager๋ฅผ ๊ฒ์ ์ ์ฒด๋ฅผ ๊ด๋ฆฌํ๋ ์ ์ผํ ์ฑ๊ธํค์ผ๋ก ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์๋ค๊ฐ Player๋ฑ๋ก์ํค๋ฉด ๋จ
์ผ๋จ ๋ฌด์จ ํ์์ด๋๋ฉด
Inspector์ ์ถ๋ ฅ๋ ํ๋์ ๋ฃ์ ์ ์๋ Object๋ 2์ข ๋ฅ๊ฐ ์์
1. "๊ฐ์ ์ฌ"์ ์กด์ฌํ๋ ์ค๋ธ์ ํธ
2. "๊ฐ์ ํ๋ฆฌํน" ๋ด์ ์๋ ์ค๋ธ์ ํธ. ๋ค๋ฅด๊ฒ ๋งํด์ ํญ์ ์๋์ ๊ฒฝ๋ก์ ์กด์ฌํ ๊ฒ์ด ํ์ ๊ฐ๋ฅํ ์ค๋ธ์ ํธ
์ด ๊ฒฝ์ฐ๋ ํ๋๋ฅผ ์ด์ด์ ํด๊ฒฐ ๋ณผ ์๋ ์๊ณ Enemy๋ฅผ Instantiate ํ๋ ํ์ด๋ฐ์ Player๋ฅผ ์ฐพ์์ ๋ฃ์ด์ฃผ๋ ์์ ์ด๊ธฐํ ๊ณผ์ ์ ์ถ๊ฐํด์ผ ํจ
Singleton ๊ฒ์ ใฑใฑ