Getcom์ ์์ฐ๊ฒ ๋ค๊ณ ์๊ฐํ๋๊ฑฐ๋ณด๋ ์บ์๋ ํจ์ํธ์ถ ๋น์ฉ์ด ์กด๋ด ์๊น์ด ์๊ฐ์ด ๋ค์๋๋ณด๊ตฌ๋
์ ํ๋ธ ๊ฐ์ฉ๋ฆฌ ๋ฐฉ์ก์์ ํ๊ฒฉ๋ฐ์๋๋ณธ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ์์ด ์๋ค.
1. ๊ตฌ์กฐ์ ์ผ๋ก ์ด๋ฏธ ์ค๊ณ๋์ด ์๋ ๊ฒฝ์ฐ.
์ด๋ฏธ ํ๊ฒฉํ์ ๋ฐ ํ๊ฒ์ด ์ ํด์ ธ์๋ ๊ฒฝ์ฐ Projectile ์ ๋ชฉํํ๊ฒ์ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก Getcom์ ์ฐ์ง ์๋๋ค. ํ์ง๋ง ์ด๋ฐ ์ค๊ณ๋ฅผ ๊ฒฝํํ๊ณ ย
์ค๋น๋ ํ๋ก์ ํธ๋ผ๋ฉด ๊ทธ๋ฐ ์ง๋ฌธ์ ํ์ง ์์ผ๋ ํจ์ค
2. ์ ๋ํฐ ์์ฒด์ ์ผ๋ก ์ฝ๋ผ์ด๋ ํจ์๋ฅผ ์ด์ฉํ๋ ๊ฐ์ฅ ์์ฌ์ค๋ฌ์ด ๋ฐฉ์
์ด ํด์ผํด. Collider ํ์ ์ผ๋ก ์ค๋๋ฐ Getcom ์จ์ผ์ง. ๊ทธ๋๋ง ๋จธ๋ฆฌ๊ฐ ์กด๋ด ๋์๊ฐ๋ ๊ฒ์ด๋ผ๋ฉด Monster , Player ์ด๋ฐ ํด๋ ์ค์๋ค๊ฐ ํจ์๋ฅผ ๋ง๋ค์ด์
์ฐ์ง๋ ์์์ผ๊ฒ ์ง๋ง ๋๋ถ๋ถ ์์ฌ๋ ๋ชฐ์์ ๊ตฌํํ์๊ฑฐ๋ค. ๊ทธ๋ฅ ๋ฐ๋ฏธ์ง ์ฒด์ปค ํด๋ ์ค๋ฅผ ๋ง๋๋ ด.
DamageChecker , Or HitChecker ๋ผ๊ณ ย
์ฌ๊ธฐ์์ ๋ ์ฐ๋ฆฌ์ ๊ฒ์ด๋ค์ ์กด๋ด ์์๋ฐ์์ผํ๋ค. ๋ญํด์ผํ๋ค ์ด๋ด๊ฑด๋ ์ด๋ ๊ฒ ํ๋ ด.
๋ธ๋ฆฌ๊ฒ์ดํธ ์ด๋ฐ๊ฑฐ ์ฐ๋ฆฌ ๊ฒ์ด๋ค์ ์ซ์ดํ๋๊น ๊ทธ๋ฅ ๋ชจ๋ ๋ฐ๋ฏธ์ง ๋จน์๋๋ค ๋ถ๋ชจ์๋ค๊ฐ BaseDamageAbleObject ํด๋ ์ค ๋ง๋ ๋ค์ ์ฐ๊ฒฐํด ๋์ผ๋ ด.
ํจ์๋ OnHit(float damage) ๋ฑ ๋ง์๋๋ก ํ๊ณ .
3. ์ด์ ์ ์์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ค ํ๋๋ ์กด๋ด ๊ธฐ๋ฐ์กํ์ผํ๋๊ฑฐ๊ณ ๋ ๋ฒ์งธ๋ ์ฐํํด์ ๋ค์ด๊ฐ๊ณ ์ฝ๋๊ฐ ์ง์ ธ๋ถํด์ง๋ค๋ ๋๋ผ๋๋๋ค์ด ์๋ค๋ฉด ์ด๋ ๊ฒ ์ฒ๋ฆฌํ๊ฒ์ง
public void OnCollisionEnter(Collision collision)
ย ย {
ย ย ย ย collision.gameObject.SendMessage("OnHit", 10, f);
ย ย }
์ฐ์ ์์ ๋ฐฉ๋ฒ GetCom์ ์ ์ธ์ํฌ๋ ค๋ฉด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์ค๊ณ ์ํ๋๊ฑฐ๊ณ ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๋ฉ์ธ์ง๋ก ๋๋ฆฌ๋๊ฑฐ๊ณ ์ถ์ ํ ๊ฑฐ๋ฉด ๋ ๋ฒ์งธ๋ก ํ๋ฆ์ฐพ์๋ค์ด๊ฐ๋ ๋ฐฉ๋ฒ์ด๋ค.
1๋ฒ์ ์ด๋ฏธ ์ถฉ๋ ๋์์ ์๊ณ ์๋ ๊ฒฝ์ฐ๋ค์. ๊ทผ๋ฐ ์ํ ๊ฒ์์์ ์ด์์ฒ๋ผ, ์ค์ ์ถฉ๋์ด ์ผ์ด๋๊ธฐ์ ๊น์ง ์ถฉ๋ ๋์์ ์์ ์๋ค๋ฉด, 2๋ฒ ๋ฐฉ๋ฒ์ด๋ผ๋ฉด...... ์ถฉ๋ํ ๋์์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ค๊ธฐ ์ํด์ GetCompo ๋๋ GetCompo , GetCompo ๊ฐ์ ํํ๋ก ํ๋ฒ์ GetComponet<> ๋ฅผ ํด์ผ ๋์ง ์๋ ํด์์. ์ด๊ฑธ ์ํ ์๊ฐ ์๋ค๋ ์๊ฐ์ด ๋ค์ด์ ์ฌ์ญค๋ณด๋๊ฑฐ์์.
์ผ๋ ๋ฉ์ธ์ง ์๋ฌด๊ฑฐ์ด๋ฐ ์ด์ํ ๋ฃจ๋จธ ํผ์ง. ์ ๊ฑฐ ํจ์ํฌ์ธํฐ ์บ์ฑ๋์์ด์ ์๋๋ฆฌ๋ฐ