๋งˆ์นจ ์–ด์ œ๋ถ€ํ„ฐ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ๊ฒŒ์ž„ ์ฝ”๋“œ์—๋„ ๋น„์Šทํ•œ ๊ฒŒ ์žˆ์–ด์„œ ์ด๊ฑธ ์˜ˆ์‹œ๋กœ ์˜ฌ๋ฆผ


์ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ญ ์ƒ์ž, ํ”Œ๋ ˆ์ด์–ด, ๊ธฐํƒ€๋“ฑ๋“ฑ์˜ ๋Œ€๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋„ ์ผ๊ด„์ ์œผ๋กœ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ ์˜ ๋ถ€๋ชจ๊ฐ€ ์•„๋‹ˆ๋ผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋นผ์…”๋„ ๋˜๊ฒ ๋„ค์š”

์•„๋‹ˆ๋ฉด... ๊ตณ์ด EnemyBase์—๋‹ค๊ฐ€ ๋Œ€๋ฏธ์ง€ ๊ตฌํ˜„์„ ๋งก๊ธฐ๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๊ณ  ํ•˜๋ฉด HealthControl ์ด๋Ÿฐ๊ฑธ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ ๊ทธ๊ฒƒ๋งŒ ๋ฐ›์•„์˜ค์„ธ์š”


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced81fa11d02831edca684dcd73c50d611ea9794e06f844ffb14f58cc4eb351e67115ddb9291f761581d834c4fb0c53a0cb6adf592f7ef53ca81d

์ ๋“ค์˜ ๋ถ€๋ชจ๊ฐ€ ๋  ํด๋ž˜์Šค


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced81fa11d02831edca684dcd73c50d611ea9794e06f844ffb14f58cc4eb351e67115ddb9291f761581d834c4fb0c00a09b67d90d2e70f54ab4c9

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฑธ ์ƒ์†๋ฐ›๋Š” ์ 


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced81fa11d02831edca684dcd73c50d611ea9794e06f844ffb14f58cc4eb351e67115ddb9291f761581d834c4fb0c5aa39c368d582e7cf5244fe0


EnemyBase.cs์˜ RecieveDamage

๋ชจ๋“  ์ ๋“ค์˜ ReceieveDamage๊ฐ€ ๋˜‘๊ฐ™์€ ๋กœ์ง์œผ๋กœ ์ž‘๋™ํ• ๊ฑฐ๋ผ๋ฉด ์ €๊ธฐ์„œ virtual์€ ์•ˆ ๋ถ™์ด๊ณ  ์ž์‹ ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„์„ ์•ˆ ํ•ด์ค˜๋„ ๋˜๊ณ 


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced81fa11d02831edca684dcd73c50d611ea9794e06f844ffb14f58cc4eb351e67115ddb9291f761581d834c4fb0c00a9c93282092f7cf53ec5bd

์ด๊ฑด Enemy_Dummy.cs์˜ ReceiveDamage์ธ๋ฐ

์›๊ธ€์— base ์–ธ๊ธ‰ํ•˜์‹ ๊ฑฐ ๋ณด๋‹ˆ๊นŒ ์ƒ์†์ด๋‚˜ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์— ๋Œ€ํ•ด์„  ์•„๋Š” ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•œ๋ฐ ํ˜น์‹œ ๋ชฐ๋ผ์„œ ์ด๊ฒƒ๋„ ์˜ฌ๋ฆผ

๋ชฌ์Šคํ„ฐ๋งˆ๋‹ค ๋Œ€๋ฏธ์ง€๋ฅผ ๋ฐ›์•˜์„ ๋•Œ ๋‹ค๋ฅธ ํ–‰๋™์„ ํ•˜๊ฒŒ๋” ํ•˜๋ ค๋ฉด ๋ถ€๋ชจ์˜ ReceiveDamage๋ฅผ ์žฌ์ •์˜ํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ์Œ


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ced81fa11d02831edca684dcd73c50d611ea9794e06f844ffb14f58cc4eb351e67115b0d4281b70cad2a72efebc643f147741be71224ce09b58


์‚ฌ์šฉ๋ฒ•์€ ๋ญ ์ € ๊ฒŒ์ž„์€ ํžˆํŠธ๋ฐ•์Šค๋ฅผย Physics2D์˜ OverlapBoxAll๋กœ ํŒ์ •ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฑด ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ ์ฃผ๋Š” hit์˜ collider๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ณ 

OnTriggerEnter2D๋ฅผ ์“ธ๊ฑฐ๋ผ๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋”ธ๋ ค์˜ค๋Š” collider๋ฅผ collider.GetComponent().ReceiveDamage(damage); ์ด๋ ‡๊ฒŒ ์“ธ์ˆ˜๋„ ์žˆ์Œ

GetComponentNoAlloc์€ ์ œ๊ฐ€ ๋งŒ๋“ ๊ฑฐ๋‹ˆ๊นŒ ์‹ ๊ฒฝ์“ฐ์ง€ ๋ง๊ณ  GetComponent ์“ฐ์„ธ์—ฌ


๊ทผ๋ฐ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์ด๋ ‡๊ฒŒ ๋ง‰ํžˆ๋Š” ๊ฒŒ ํ•œ๋‘๊ฐ€์ง€๊ฐ€ ์•„๋‹ํ…๋ฐ

๊ทธ๋•Œ๋งˆ๋‹ค ๋ฌผ์–ด๋ดค์„ ๋•Œ ์›ํ•˜๋Š” ๋‹ต๋ณ€์ด ๋ฐ”๋กœ ๋‚˜์˜ค๋Š”๊ฒƒ๋„ ์•„๋‹ˆ๋‹ˆ๊นŒ C# ๊ธฐ์ดˆ๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์˜ค๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค


๋‚˜๋ฆ„ ์ดํ•ด ์‰ฝ๊ฒŒ ๋˜๋ผ๊ณ  ์“ด๊ฑด๋ฐ ์ดํ•ด ์•ˆ๋˜๋ฉด ๋Œ“๊ธ€๋กœ ๋˜ ๋ฌผ์–ด๋ด์ฃผ์‚ผ ใ…ˆใ