playerdamage๊ฐ 1์ด๊ณ monster๊ฐ monster1 , monster2 , monster3 ์ด๋ ๊ฒ ์๋ค๊ณ ํ๋ฉด
player๊ฐ monster1 , monster2 , monster3 ๋๊ตฌ๋ฅผ ๋๋ฆฌ๋ -1 ๋ฐ๋ฏธ์ง๋ฅผ ์ ํ๊ณ ์ถ์ ๋
๊ฐ monster hp์ ์ ๊ทผํด์ ํ๋์ฉ -1์ ํด์ฃผ๋ ๊ฑด๊ฐ์? ์ด๋ ๊ฒ ํ๋ฉด ๋์ค์ ๋ชฌ์คํฐ๊ฐ ๋ง์์ง๋ฉด hit() ํจ์์ ๋๋ฌด ๋ง์ ์ฝ๋๊ฐ ์ถ๊ฐ๋ ๊ฒ ๊ฐ์๋ฐ
์์ง ๋ด๋น๋ผย ๋จผ๊ฐ ์ ๊ทผ ๋ฐฉ์์ด ์๋ชป๋ ๊ฑฐ ๊ฐ์๋ฐย ์ข์ ๋ฐฉ๋ฒ์ด ์์๊น์?
void hit()
{
if(monster1)ย monster1.hp -= 1
else if(monster2)ย monster2.hp -= 1
else if(monster3)ย monster3.hp -= 1
}
ํ๋์ฉ ์ ๊ทผํด์ -1 ํ๋๊ฑฐ ๋ง์. ๋ชฌ์คํฐ๊ฐ 10000๊ฐ ์์ผ๋ฉด ๋ชฌ์คํฐ๋ค์ ๋ฐฐ์ด์ด๋ list์ ๋ด๊ณ , for loop ๋๋ ค์ -1 ๋จน์ด๋๊ฑฐ์
์. ๊ทธ๋ ๊ตฐ์ ๊ฐ์ฌํฉ๋๋ค list์ ๋ชฌ์คํฐ ๋ชฉ๋ก์ ๋ด๊ณ for๋ฌธ์ ์ด์ฉํ๋๊ฒ ์ข๊ฒ ๋ค์ ๊ฐ์ฌํฉ๋๋ค!
์จํด์ผ์คํธ์ฌ ์จ์ for๋ฌธ์ผ๋ก ๋์๊ฐ๋ฉด์ ๋ค 1์ฉ ๋จน์ฌ์ฉ - dc App
๊ฐ์ฌํฉ๋๋ค. circlecastall ์ด๋ผ๋ ํจ์๋ ์์๋ค์
๋ผ์ผ์์์์
๋๋ผ๋ฉด Monster ๋ถ๋ชจ ํด๋์ค๊ฐ ์๊ณ Monster1, Monster2.. ๋ฑ๋ฑ์ ํด๋์ค๋ ์์ํด๋์ค๋ก ๋ง๋ ๋ค์์ ๋ถ๋ชจ ํด๋์ค์์๋ ๋ชฌ์คํฐ๋ค์ด ๊ณตํต์ ์ผ๋ก ์คํํด์ผํ ํจ์(๊ณต๊ฒฉ, ํผ๊ฒฉ, ์ด๋ ๋ฑ๋ฑ)์ ๋ฃ๊ณ ์์ํด๋์ค์์๋ ๊ฐ ์ข ๋ฅ์ ๋ชฌ์คํฐ๋ค์ด ํน๋ณํ๊ฒ ์คํํด์ผ ํ๋ ํจ์(์๊ฑฐ๋ฆฌ ๋ชฌ์คํฐ๋ผ๋ฉด ์ฌ๊ฑฐ๋ฆฌ ์ฒดํฌ, ํ๋ฌ ๋ชฌ์คํฐ๋ผ๋ฉด ํ๋ง)๋ง ๋ฃ์ด์ ๊ด๋ฆฌํจ. ๊ทธ๋ฌ๋ฉด ์ ์ ๊ฐ ๋ชฌ์คํฐ๋ฅผ ๊ณต๊ฒฉํ์ ๋ Monster ๋ถ๋ชจ ํด๋์ค์์ ํผ๊ฒฉ ํจ์ ํธ์ถํ๋ ๊ฒ๋ง์ผ๋ก ๊น๋ํ๊ฒ ์ ๋ฆฌ ๊ฐ๋ฅ. ๋ ์๊ณ ์ถ์ผ๋ฉด ๋คํ์ฑ์ ๋ํด์ ๊ณต๋ถํ๋ฉด ๋จ
์คํธ.. ๊ฐ์ฌํฉ๋๋ค ์ ๊ฐ ๋ชฐ๋๋ ์ ๊ทผ ๋ฐฉ์์ด๋ค์. ๊ณต๋ถํด๋ด์ผ๊ฒ ์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค.
์ธํฐํ์ด์ค ์ฐ์
UnityEvent ํธํจ
void Hit(Monster mon, int dmg) mon.HP -= dmg;
ํด๋์ค๊ฐ ๋๋์ด์์ผ๋ฉด ์์ ์จ์ ๋ถ๋ชจ ํด๋์ค์ ํผ๊ฒฉ ํจ์ ๋ง๋ค์ด์ ํด์ผํจ - dc App
๊ทธ๋ฅ ๋ชฌ์คํฐ์ ํผ๊ฒฉ์ฒดํฌ ๋ฃ์ด๋์ผ๋ฉด ๊ฐ ๊ฐ์ฒด๊ฐ ์์์ ์ฒ๋ฆฌ ํ์์