دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۷
  • دی

جلسه ۱۴ : Coroutines در Unity

  • دسته‌بندی‌ها :
جلسه ۱۴ : Coroutines در Unity
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      سلام و درود خدمت دوستان عزیز و علاقمندان به مباحث آموزشی وب سایت پی وی لرن. با آموزش Unity در خدمتتون هستیم. Coroutines در Unity چیست؟ و کاربرد آن چیست؟ در این بخش به این موضوع خواهیم پرداخت.

      Coroutines در Unity چیست؟

      Coroutines مفیدترین ابزار هنگام ساخت بازی در Unity است.

      حال بیایید کدی را که در زیر نشان داده شده است در نظر بگیریم تا بفهمیم coroutine چیست.

      مثال : 

      به طور کلی ، اگر یک تابع را در Unity (یا #C) فراخوانی کنید ، عملکرد از ابتدا تا انتها اجرا خواهد شد. این رفتار “عادی” در یک کد است که می توان در نظر گرفت. با این حال، بعضی اوقات می خواهیم به طور عمدی یک عملکرد را انجام ندهیم یا آن را بعد از چند ثانیه اجرا کنیم.

      یک Coroutines تابعی است که قادر به انتظار و زمانبندی روند است و همچنین مکث کامل آن.

      بگذارید مثالی در نظر بگیریم تا بفهمیم یک Coroutines چگونه کار می کند.

      فکر کنید، می خواهیم مربعی درست کنیم که در فواصل ۱ ثانیه رنگ آن بین قرمز و آبی متغیر است.

      برای شروع ، ما یک اسپلیت ایجاد می کنیم. در مرحله بعد ، یک اسکریپت جدید ایجاد کرده و آن را ColorChanger می نامیم. در این اسکریپت ، ما یک رفرنس برای Sprite Renderer spite فراهم می کنیم. با این حال ، از روشی متفاوت برای به دست آوردن کامپوننت استفاده خواهیم کرد. به جای درگ کردن و رها کردن کامپوننت به اسلات که

      قبلا انجام داده ایم ، از کد درخواست خواهیم کرد که این کامپوننت را تشخیص دهد.

      این کار از طریق روش GetComponent انجام می شود ، که اولین کامپوننت مطابق آن تشخیص را باز می گرداند. از آن جا که ما فقط از یک Sprite Renderer برای هر شیء استفاده می کنیم ، می توانیم از این روش استفاده کنیم تا هر بار به طور خودکار رفرنس را برای رندر در هر زمانی، شناسایی و دریافت کنیم.

      به یاد داشته باشید که رندر وظیفه ایجاد اسپریت در صفحه قابل مشاهده را دارد.

      رندر خاصیت رنگی دارد که بر رنگ اسپریت تأثیر می گذارد. و این مقداری است که باید اصلاح شود. عمومی کردن مقادیر Color به ما امکان می دهد تا آن ها را از طریق

      ویرایشگر در برنامه پیش فرض انتخاب رنگ سیستم عامل خود انتخاب کنیم.

      مثال : 

      اکنون ، ما عملکرد coroutine خود را در یک حلقه مدتی به چالش می کشیم.

      برای ایجاد یک coroutine در #C ، به راحتی روشی را ایجاد می کنیم که IEnumerator را برمی گرداند. همچنین به جمله yield return نیاز داریم. جمله yield return ویژه است. و همان چیزی است که در واقع به یونیت می گوید اسکریپت را متوقف کرده و در فریم بعدی ادامه دهد.

      چندین روش وجود دارد که می تواند برای yield return استفاده شود. یکی از آن ها WaitForSeconds است.

      این امر باعث می شود تا قبل از ادامه ، coroutine برای ثانیه های معینی در دنیای واقعی منتظر بماند.

      اجازه دهید کد خود را کامپایل کنیم و به یونیتی برگردیم. به راحتی رنگ های متناوب خود را انتخاب می کنیم و به بازی خواهیم پرداخت. اکنون هدف ما جابجایی بین دو رنگ در

      فاصله ی ۳ ثانیه  است.

      می توانید فاصله را به یک متغیر عمومی تبدیل کنید و همچنین تکرار تغییرات رنگ را نیز تنظیم کنید.

      coroutine ها به طور گسترده برای روش های زمان دار استفاده می شوند ، مانند روشی که در این جا انجام دادیم.

      انواع روش های WaitForX کاربردهای خاص خود را دارند.

      Coroutines همچنین برای اجرای فرایندهای “on the side” که به صورت همزمان اجرا می شوند ، به کار می رود. به عنوان مثال ، برای بارگیری قسمت های خارج از صفحه در

      سطح بزرگ ، در حالی که پلیر در یک نقطه شروع می کند، مفید است.

       

      Coroutines در Unity چیست؟

      Coroutines در Unity چیست؟

      کلام پایانی

      در صورتی که بخواهیم یک کد مثلا بعد از چند ثانیه اجرا شود از Coroutines استفاده می کنیم.

      در بخش بعدی مبحث Console در یونیتی رو خواهیم داشت.

      QR:  جلسه ۱۴ : Coroutines در Unity
      به اشتراک بگذارید


      دیدگاه کاربران
      1. تصویر کاربر
        • تصویر کاربر