راهنمای کامل برای بازیسازها
اگه تازه وارد دنیای برنامهنویسی توی یونیتی شدی یا حتی یه مدت کار کردی ولی میخوای تسلطت رو روی حلقهها بیشتر کنی، این مقاله دقیقاً برای توئه! حلقهها یکی از پایهایترین مفاهیم برنامهنویسی هستن که توی ساخت گیمپلی، سیستمهای مختلف و حتی گرافیک و فیزیک هم نقش مهمی دارن.
حلقه چیه اصلاً؟
حلقهها به ما اجازه میدن که یه تیکه کد رو چند بار اجرا کنیم بدون اینکه مجبور باشیم همون کد رو دستی تکرار کنیم. مثلا فرض کن میخوای یه سری دشمن رو توی بازی اسپاون کنی، یا یه آرایه از آیتمها رو بررسی کنی – خب اینجا حلقه میاد وسط و کلی از وقتت رو نجات میده.
انواع حلقههای پرکاربرد در یونیتی (و C#)
تو یونیتی و به طور کلی C#، ما چند نوع حلقه معروف داریم که توی اکثر پروژهها استفاده میشن:
- حلقه for
- حلقه foreach
- حلقه while
- حلقه do-while
۱. حلقه for
کلاسیکترین نوع حلقه که تو اکثر زبانها هست. مخصوصاً وقتی میدونی قراره چند بار اجرا بشه خیلی به کارت میاد.
// Spawning 10 enemies void Start() { for (int i = 0; i < 10; i++) { Debug.Log("Spawn enemy number: " + i); } }
۲. حلقه foreach
برای وقتی که میخوای روی کل آیتمهای یک لیست یا آرایه عملیات انجام بدی، خیلی خواناست و راحت.
// Printing all player names string[] playerNames = { "Ali", "Sara", "Reza" }; void Start() { foreach (string name in playerNames) { Debug.Log("Player name: " + name); } }
۳. حلقه while
تا وقتی یه شرط برقرار باشه اجرا میشه. حواست باشه که شرط رو یه جوری بنویسی که بالاخره false بشه، وگرنه میری تو حلقه بینهایت!
// Countdown timer int countdown = 5; void Start() { while (countdown > 0) { Debug.Log("Timer: " + countdown); countdown--; } }
۴. حلقه do-while
فرقش با while اینه که حداقل یه بار اجرا میشه، حتی اگه شرط از اول برقرار نباشه.
// Display at least once int score = 0; void Start() { do { Debug.Log("Score: " + score); score++; } while (score < 3); }
حلقهها و کوروتینها در یونیتی
گاهی وقتا میخوای یه حلقه اجرا بشه ولی بین هر تکرار یه تاخیر زمانی داشته باشه. اینجا کوروتینها وارد میشن.
// Delayed loop using coroutine IEnumerator Start() { for (int i = 0; i < 5; i++) { Debug.Log("Waited loop: " + i); yield return new WaitForSeconds(1f); } }
جمعبندی
اگه با حلقهها آشنا نباشی، خیلی از کارهای ساده ممکنه برات پیچیده به نظر برسه. ولی وقتی خوب درکشون کنی، میتونی کدت رو تمیزتر و موثرتر بنویسی. پیشنهاد میکنم حتماً با هر چهار نوع حلقه یه مقدار تمرین کنی تا موقع نیاز دقیقاً بدونی کدوم به دردت میخوره.
کلمات کلیدی:
Unity loops, حلقه در یونیتی, حلقه for در یونیتی, حلقه while در یونیتی, آموزش حلقه در سی شارپ, foreach Unity, coroutine loop, آموزش برنامهنویسی بازی, آموزش یونیتی,کد – پلی , کدپلی , code-play , codeplay , code-play.ir