๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

 

 

ํƒœ๊ทธ(Tag)๋ž€?

 

์œ ๋‹ˆํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด, ์Šคํฌ๋ฆฝํŠธ์—์„œ ํƒœ๊ทธ(Tag)๋ฅผ ์ด์šฉํ•ด์„œ ์›ํ•˜๋Š” ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์ธ์ง€๋ฅผ ํŒ๋ณ„ํ•  ๋•Œ๊ฐ€ ์ž์ฃผ ์žˆ๋‹ค. 

ํ•˜์ง€๋งŒ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋น„๊ต๋ฅผ ํ•˜๋”๋ผ๋„ ์ž์นซ ์ž˜๋ชปํ•˜๋ฉด ๊ฐ€๋น„์ง€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž”๋œฉ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ธ€์„ ๋ณธ ์ ์ด ์žˆ๋‹ค.

 

1. CompareTag() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•œ ๋น„๊ต (๊ถŒ์žฅ)

 

pirvate void OnTriggerEnter2D(collider2D collision)
{
    if(collision.CompareTag("Player")) //CompareTag() ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•œ ๋น„๊ต
    {
       ...
    }
}

 

2. string ๋ฌธ์ž์—ด์„ ์ด์šฉํ•œ ๋น„๊ต (๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ)

 

private void OntriggerEnter2D(collider2D collision)
{
    if(collision.tag.Equals("Player"))  // ํƒœ๊ทธ(Tag)๋„ ๊ฒฐ๊ตญ string ๋ฌธ์ž์—ด์ด๊ธฐ์— ๊ฐ€๋Šฅ
    {
       ...
    }
}

 

ํ•˜์ง€๋งŒ ๊ฐ€๊ธ‰์ ์ด๋ฉด string ๋ฌธ์ž์—ด ๋น„๊ต๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธธ ๊ถŒํ•˜๊ณ  ์žˆ๋‹ค. string ๋ฌธ์ž์—ด์˜ ๋น„๊ต๋ฅผ ์ง„ํ–‰ํ•  ๊ฒฝ์šฐ, ์œ ๋‹ˆํ‹ฐ๋Š” gameObject์—์„œ ๋ฌธ์ž์—ด์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ๋ฌธ์ž์—ด์˜ ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค.

 

C#์—์„œ ๋ฌธ์ž์—ด(string)์€ ์ฐธ์กฐ ํ˜•์‹(Reference Type)์ด๋‹ค. ๋ฌธ์ž์—ด์€ immutableํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ ๊ฒƒ์€ ๋‹ค์‹œ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.

/*  StringBuilder ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ž์—ด ์ˆ˜์ •์€ ๊ฐ€๊ธ‰์  StringBuilder๋ฅผ ์ด์šฉํ•˜์ž */

 

์ฆ‰, ๋ณต์‚ฌ๋ณธ์ด ๊ณ„์†ํ•ด์„œ ์ƒ๊ฒจ๋‚จ์— ๋”ฐ๋ผ ํž™ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ๊ณ„์† ์ด๋ฃจ์–ด์ง€๊ณ  ์ด๊ฒƒ์€ ๊ฐ€๋น„์ง€๋กœ ์ด์–ด์ง„๋‹ค.

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์ž‘์—…์€ ์ƒ๋‹นํžˆ ๋ฌด๊ฑฐ์šด ์ž‘์—…์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒŒ์ž„์„ ํ•˜๋‹ค๊ฐ€ ํ”„๋ ˆ์ž„ ๋“œ๋ž์ด ์ผ์–ด๋‚˜๋Š” ์ฃผ์š” ์›์ธ์œผ๋กœ ์ž‘์šฉํ•œ๋‹ค.

/*  ํŠนํžˆ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์€ ๋”์šฑ ์น˜๋ช…์   */

 

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์ธํ•ด, ์ตœ์ ํ™” ์ธก๋ฉด์—์„œ CompareTag() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ํƒœ๊ทธ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

CompareTag()๋Š” ๋ฌธ์ž์—ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š๋Š”๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•