๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸชดEtc/๐Ÿ’ญ C# and Unity

Unity ์‹œ๊ฐ„ ์ง€์—ฐ ์ฃผ๋Š” ๋ฐฉ๋ฒ•

by MuGeon Kim 2022. 11. 5.
๋ฐ˜์‘ํ˜•

                                            โ–ช์œ ๋‹ˆํ‹ฐ์—์„œ sleep()์ด ์—†๋‹ค

                      ๋ฐฉ๋ฒ• : time.deltatime , destroy , invoke , coroutine

 

                                    1.Time.deltaTime์ด์šฉ

waitingTime ๊ฒฝ๊ณผ ํ›„ ํŠน์ • ์ž‘์—…์„ ๋ฐ˜๋ณต ์‹คํ–‰ํ•จ

                                             2. Destory()

๊ฐœ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ ์ดํ›„ ํŠน์ • ์‹œ๊ฐ„์ด ๊ฒฝ๊ณผํ•œ ๋’ค์— ์ œ๊ฑฐํ•˜๊ธฐ

                                                3.Invoke()

ํŠน์ • ์‹œ์  ์ดํ›„ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๊ธฐ

                                   4.Coroutineํ•จ์ˆ˜ ์ด์šฉํ•˜๊ธฐ

์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์„ ๋น„๋™๊ธฐ(asynchronous)๋กœ ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ

โ–ช ํ•œ ์ปดํฌ๋„ŒํŠธ ๋‚ด์—์„œ Update ํ•จ์ˆ˜์™€ ๋”ฐ๋กœ ์ผ์‹œ์ ์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” ์„œ๋ธŒ ๋™์ž‘์„ ๊ตฌํ˜„ํ•  ๋•Œ ์‚ฌ์šฉ

โ–ช ์–ด๋–ค ๋‹ค๋ฅธ ์ž‘์—…์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ


โ–ช Coroutine์€ ๋ณ„๋„์˜ ์“ฐ๋ ˆ๋“œ์™€ ๊ฐ™์ด ๋™์ž‘ํ•จ (์‹ค์ œ ๋ณ„๋„ ์“ฐ๋ ˆ๋“œ๋Š” ์•„๋‹˜)


โ–ช Coroutine ํ•จ์ˆ˜ ์ž‘์„ฑ ๋ฐฉ๋ฒ• – ๋ฆฌํ„ด ํƒ€์ž…์€ IEnumerator๋ผ์•ผ ํ•จ
– ํ•จ์ˆ˜ ๋‚ด์— yield return ๊ตฌ๋ฌธ์ด ์žˆ์–ด์•ผ ํ•จ – yield return null;

โ–ช
๋‹ค์Œ Update()๊ฐ€ ์‹คํ–‰๋  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆผ
– yield return new WaitForSeconds(float time);

โ–ชtime์ดˆ ๋™์•ˆ ๊ธฐ๋‹ค๋ฆผ
– yield return new WaitForEndOfFrame();


โ–ช๋ Œํ„ฐ๋ง์ด ๋๋‚˜๊ณ  ํ˜„์žฌ ํ”„๋ ˆ์ž„์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆผ


โ–ช Coroutine ํ˜ธ์ถœ ๋ฐฉ๋ฒ•
– MonoBehaviour.StartCoroutine – public Coroutine StartCoroutine(IEnumerator routine)

๋ฐ˜์‘ํ˜•