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



  • ۱۷
  • دی

جلسه ۰۸ : اسکریپت حرکتی در Unity

  • دسته‌بندی‌ها :
جلسه ۰۸ : اسکریپت حرکتی در Unity
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

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

      روش اسکریپت نویسی در یونیتی

      در این درس کدی را خواهیم نوشت که باعث می شود یک gameObject بر اساس ورودی کاربر به بالا ، پایین ، چپ و راست حرکت کند.

      این امر به ما کمک می کند تا روند کار برنامه نویسی یونیت را راحت تر درک کنیم.

      به یاد داشته باشید که هر GameObject حداقل یک جزء دارد – Transform.

      نکته مهم این است که Transform یک gameObject به عنوان متغیرهایی در قسمت اسکریپتینگ Unity نیز نشان داده می شود تا بتوانیم آن را از طریق کد اصلاح کنیم. این فقط به Transform محدود نمی شود. همه مؤلفه های یونیتی دارای خصوصیاتی هستند که از طریق متغیرها در اسکریپت قابل دسترسی می باشند.

      بگذارید با اسکریپت حرکتی خود شروع کنیم.

      یک اسکریپت جدید ایجاد کنید و آن را “Movement” بنامید.

      حالا اسکریپت را باز کنید و باید همان مطالبی را که در آخرین درس دیدید ببینید.

      بگذارید یک متغیر float عمومی بنام speed ایجاد کنیم.

      ایجاد یک متغیر عمومی در یونیتی یک مزیت بزرگ دارد.

      • متغیر به عنوان یک قسمت قابل تغییر در داخل ویرایشگر نشان داده می شود ، بنابراین لازم نیست که مقادیر را با کد تنظیم کنید.

      مثال : 

      اگر ما این اسکریپت را بدون دست زدن به روش های دیگر ذخیره می کنیم ، باید در Unity کامپایل شود.

      (زمانی که توسط آیکن بالا در گوشه پایین سمت راست کامپایل می شود، آن را می توانید ببینید)

      سپس، اسکریپت را از Assets بر روی GameObject درگ کنید و رها کنید.

      اگر این کار را به درستی انجام دهید ، این همان چیزی است که باید در ویژگی های GameObject مشاهده کنید.

       

      روش اسکریپت نویسی در یونیتی

      روش اسکریپت نویسی در یونیتی

      از آن جا که مقدار سرعت قابل تنظیم است و نیازی به تغییر در کد نیست ، می توانیم به جای ()start از روش ()update استفاده کنیم.

      اجازه دهید اکنون اهداف روش Update را در نظر بگیریم.

      • ورودی کاربر را بررسی می شود.
      • در صورت وجود ورودی کاربر ، مسیرهای ورودی را می خواند.
      • مقادیر موقعیت transform شی را بر اساس سرعت و جهت آن تغییر دهید.

      برای این کار کد زیر را اضافه خواهیم کرد.

      مثال : 

      بگذارید اکنون درباره کد مورد بحث صحبت کنیم.

      اول از همه ، ما یک متغیر نقطه شناور (floating point) به نام h (برای افقی) ایجاد می کنیم و مقدار آن با استفاده از روش Input.GetAxisRaw داده می شود. این روش بسته به این که کدام نوع از کلید را پلیر، فلش های بالا / پایین / چپ / راست فشار می دهد، مقادیر ۱- ، ۰ یا ۱ را باز می گرداند.

      کلاس Input وظیفه دریافت ورودی از کاربر را به شکل فشار کلید ، ورودی ماوس ، ورودی کنترلر و غیره دارد.

      درک روش GetAxisRaw کمی دشوار است ، بنابراین بعداً به آن خواهیم پرداخت.

      در مرحله بعد،

      ما موقعیت GameObject را به موقعیت جدیدی که به وسیله ایجاد یک Vector2 جدید تعریف شده است ، به روز می کنیم. Vector2 از ۲ پارامتر استفاده می کند که به ترتیب مقادیر x و y را دارند. برای مقدار x ، مقدار موقعیت فعلی شی و سرعت آن را ارائه می دهیم، به طور موثری با افزودن مقداری در هر فریم، کلید به موقعیت آن فشرده می شود.

      ذخیره این اسکریپت و رفتن دوباره به Unity.

      یونیتی پس از کامپایل با موفقیت تمام اسکریپت ها را به طور خودکار بروزرسانی می کند ، بنابراین نیازی نیست مجدداً دوباره اسکریپت را به آن اتچ کنید.

      اکنون که کار تمام شد ، مقدار سرعت را در ویژگی های GameObject تغییر دهید در ۰٫۸ قرار دهید.

      این کار مهم است زیرا مقدار بالاتر باعث می شود پلیر خیلی سریع حرکت کند.

       

      روش اسکریپت نویسی در یونیتی

      روش اسکریپت نویسی در یونیتی

      اکنون ، روی Play کلیک کنید و اولین بازی کوچک خود را در عمل مشاهده کنید!

       

      روش اسکریپت نویسی در یونیتی

      روش اسکریپت نویسی در یونیتی

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

      مجبور نشوید که تمام وقت آن را متوقف و سپس شروع کنید.

      در درس بعدی ، در مورد اجسام سفت و سخت و تصادم خواهیم آموخت.

      کلام پایانی

      روش اسکریپت نویسی در یونیتی و ایجاد بازی سبکی رو بررسی نمودیم.

      در بخش بعدی در مورد Collisions صحبت خواهیم کرد.

      QR:  جلسه ۰۸ : اسکریپت حرکتی در Unity
      به اشتراک بگذارید