70% تخفیف تمدید جشنواره نوروز 1403 برای شروعی تازه
اسکریپت نویسی در یونیتی

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

تاریخ انتشار : مرداد ۲۳, ۱۴۰۰ تاریخ به روز رسانی : مرداد ۹, ۱۴۰۲ نویسنده : پشتیبانی مکتب تی وی زمان مورد نیاز مطالعه : دقیقه تعداد بازدید : 4.01هزار بازدید

یونیتی موتور بازی‌سازی حرفه‌ای است که باقابلیت‌های بی‌شمار خود به شما در طراحی بازی کمک خواهد کرد؛ اما گاهی ممکن است امکانات و ابزارهای یونیتی برای پیاده کردن طرح شما کافی نباشد. در این زمان از نوشتن اسکریپت یونیتی کمک می‌گیریم. در این آموزش یونیتی به اسکریپت نویسی در یونیتی خواهیم پرداخت و گام‌به‌گام مراحل و نحوه ایجاد اسکریپت را طی خواهیم کرد.

دوره رایگان اصول اولیه طراحی موشن گرافیک

دوره رایگان اصول اولیه طراحی موشن گرافیک

همین الان با وارد کردن اطلاعات خود در فرم، دوره اصول اولیه طراحی موشن گرافیک را به صورت رایگان دریافت کرده و 10/000 تومان شارژ هدیه دریافت نمایید.





رمز عبور موقت همان شماره موبایل خواهد بود

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

همان‌طور که گفته شد درزمانی که قابلیت‌های یونیتی در پیاده‌سازی ساختار طرحی کافی نباشد، سراغ اسکریپت نویسی روی یونیتی می‌رویم. درواقع اسکریپت نویسی یک عنصر اساسی در بیشتر برنامه‌هایی است که در Unity ایجاد می‌کنید. اکثر برنامه‌ها نیاز به اسکریپت دارند. از اسکریپت‌ها به‌منظور طراحی جلوه‌های گرافیکی، کنترل رفتار فیزیکی اشیاء یا حتی پیاده‌سازی یک سیستم هوش مصنوعی سفارشی برای شخصیت‌های بازی می‌توان استفاده کرد. معمولاً به زبان شی گرای C# اسکریپت‌ها نوشته می‌شوند.

هدف از نوشتن اسکریپت‌ها در یونیتی متفاوت است. یکی از این اهداف ایجاد component ها و مؤلفه‌های اختصاصی برای Game Object ها است. اسکریپت MonoBehaviour امکان تبدیل به کامپوننت و اتصال به گیم آبجکت را دارد. در ادامه مقاله اسکریپت نویسی در یونیتی به ایجاد این اسکریپت و استفاده از آن بیشتر خواهیم پرداخت.

نحوه ایجاد و استفاده از اسکریپت‌ها

رفتار GameObjects توسط اجزای متصل به آن‌ها کنترل می‌شود. درحالی‌که اجزای داخلی Unity می‌توانند بسیار متنوع باشند. یونیتی به شما امکان می‌دهد اجزای خود را با استفاده از اسکریپت ایجاد کنید، رویدادهای بازی را اجرا کنید، ویژگی‌های جزء را در طول زمان تغییر دهید و به هر نحوی که می‌خواهید به ورودی کاربر پاسخ دهید.

ساخت اسکریپت

در مقاله اسکریپت نویسی در یونیتی خواهید دید اسکریپت‌ها برخلاف سایر asset ها معمولاً به‌صورت مستقیم در یونیتی ایجاد می‌شوند. از منوی بالا سمت چپ Create و پنل Project را انتخاب کنید؛ و یا با انتخاب Assets به Create روید و C# Script را از طریق منوی اصلی ایجاد کنید. اسکریپت جدید در هر پوشه‌ای که در پنل پروژه انتخاب کرده‌اید ایجاد می‌شود. نام فایل اسکریپت جدید را به انتخاب خود تغییر دهید.

اسکریپت نویسی در یونیتی _ساخت اسکریپت جدید

ساختمان یک فایل اسکریپت

در این بخش از اسکریپت نویسی در یونیتی به بررسی ساختمان یک فایل اسکریپت می پردازیم.اگر روی script Asset در یونیتی دو بار کلیک کنید، یک ویرایشگر متن باز می‌شود. به‌صورت پیش‌فرض، یونیتی از ویژوال استودیو استفاده می‌کند، اما می‌توانید ویرایشگر موردنظر خود را از پنل External Tools در preferences یونیتی انتخاب کنید (به Unity و سپس Preferences بروید). محتویات اولیه فایل مشابه تصویر زیر خواهد بود:

ساختمان یک فایل اسکریپت در اسکریپت نویسی در یونیتی

یک اسکریپت با پیاده‌سازی کلاسی که از کلاس داخلی بنام MonoBehaviour نشأت می‌گیرد، با عملکرد داخلی Unity ارتباط برقرار می‌کند. شما می‌توانید یک کلاس را نوعی طرح برای ایجاد یک نوع کامپوننت جدید در نظر بگیرید که می‌تواند به GameObjects متصل شود. هر بار که یک جزء اسکریپت را به GameObject وصل می‌کنید، یک نمونه جدید از شیء تعریف‌شده توسط نقشه ایجاد می‌کند. نام کلاس برگرفته از نامی است که هنگام ایجاد فایل ارائه کرده‌اید. نام کلاس و نام فایل باید یکسان باشد تا قسمت اسکریپت بتواند به GameObject متصل شود.

توابع مهم اسکریپت نویسی در Unity

مهم‌ترین نکاتی که باید به آن توجه شود، دو تابع تعریف‌شده در داخل کلاس هستند.

  • عملکرد Update مکانی برای قرار دادن کدی است که به‌روزرسانی فریم برای GameObject را مدیریت می‌کند. این ممکن است شامل حرکت، راه‌اندازی اقدامات و پاسخ به ورودی کاربر باشد، اساساً هر چیزی که باید در طول زمان در طول بازی انجام شود. برای اینکه عملکرد Update بتواند کار خود را انجام دهد، اغلب مفید است که بتوانید متغیرها را تنظیم کنید، تنظیمات برگزیده را بخوانید و با سایر GameObjects ارتباط برقرار کنید.
  • تابع Start قبل از شروع بازی توسط Unity (قبل از فراخوانی اولین بار تابع Update) فراخوانی می‌شود و مکانی ایده آل برای انجام هرگونه راه‌اندازی اولیه است.

توجه: شاید تعجب کنید که مقداردهی اولیه یک شی با استفاده از تابع سازنده انجام نمی‌شود. این به این دلیل است که ساخت اجسام توسط ویرایشگر انجام می‌شود و همان‌طور که انتظار دارید در ابتدای بازی انجام نمی‌شود. اگر سعی کنید یک سازنده برای یک جزء اسکریپت تعریف کنید، عملکرد عادی Unity را مختل کرده و می‌تواند مشکلات عمده‌ای را در پروژه ایجاد کند.

آموزش یونیتی

آموزش نرم افزار یونیتی از صفر تا صد

یونیتی یک موتور بازی سازی قدرتمند است که به علت آسان بودن کار با آن و قدرت رندر بالا محبوبیت پیدا کرده است. از دیگر ویژگی های این نرم افزار می توان به قابلیت شخصی سازی محیط برنامه و توانایی ساخت همزمان بازی های دو و سه بعدی اشاره کرد. این نرم افزار قابلیت پشتیبانی زبان های معروف برنامه نویسی مثل c# را ...

%70 تخفیف
202.000 تومان
60.600 تومان
بررسی و خرید دوره

کنترل GameObject

همان‌طور که در مقاله  اسکریپت نویسی در یونیتی ذکر شد، یک اسکریپت فقط یک نقشه برای یک کامپوننت تعریف می‌کند و بنابراین تا زمانی که نمونه‌ای از اسکریپت به GameObject متصل نشود، کد آن فعال نمی‌شود. می‌توانید یک اسکریپت را با کشیدن script asset به GameObject در hierarchy panel یا inspector از GameObject که در انتخاب‌شده است، ضمیمه کنید. همچنین یک منوی Scripts در منوی Component وجود دارد که شامل همه اسکریپت‌های موجود در پروژه، ازجمله مواردی است که خودتان ایجاد کرده‌اید. نمونه اسکریپت بسیار شبیه به سایر اجزای Inspector است:

کنترل GameObject در اسکریپت نویسی در یونیتی

طبق مقاله اسکریپت نویسی در یونیتی؛ پس از پیوست شدن، اسکریپت با فشار دادن Play و اجرای بازی شروع به کار می‌کند. می‌توانید این مورد را با افزودن کد زیر در عملکرد Start بررسی کنید:

کنترل GameObject در اسکریپت نویسی در یونیتی

Debug.Log یک فرمان ساده است که فقط یک پیام را در خروجی کنسول Unity چاپ می‌کند. اگر Play را فشار می‌دهید، باید پیام را در پایین پنجره اصلی ویرایشگر Unity و در پنجره Console مشاهده کنید. در پایان مقاله اسکریپت نویسی در یونیتی انتظار می‌رود در مورد اسکریپت ها بیشتر از پیش اطلاعات داشته باشید.

در این مقاله نحوه ایجاد و استفاده اسکریپت ها در یونیتی را شرح دادیم و ساختمان یک فایل اسکریپت را بررسی کردیم. همچنین توابع مهم اسکریپت نویسی در Unity را معرفی کردیم.

دیدگاه کاربران

بدون دیدگاه

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها