آموزش کدنویسی #C در یونیتی
Scripting در یونیتی
Scripting یا کدزنی به شی ها در بازی یا همان Game Objects می گوید که چگونه باید رفتار کنند. کدهاو کامپوننت ها و نحوهی برقراری آن ها با هم بازی شما را تشکیل می دهند. باید توجه داشته باشید که Scripting در یونیتی فقط کدنویسی نیست. اگر با یونیتی کار کرده باشید می بینید که نیاز به نشوتن کد برای اجرای ی برنامه نیست. یونیتی این کار را انجام می دهد. در یونیتی شما باید تمرکز خود را برای نحوه ی بازی و gameplay بگذارید.
یونیتی یک حلقه ی بزرگ است. تمامی داده های شما را خوانده و در یک صحنه از بازی اجرا می کند. برای مثال، نور ها و رفتار های کاراکترها و مناظر را گرفته و تمامی این اطلاعات را پردازش می کند.
داشتن نرخ فریم بالا تر به معنی بازی روان تر و با کیفیت تر است اما این به معنی کدنویسی بیشتر و پردازش بالای اطلاعات است.
چه زبان هایی برای یونیتی قابل استفاده می باشند؟
یک Script باید به اشیای بازی در صحنه مورد متصل شود تا در یونیتی فراخوانده شود. این متن ها باید در زبانی نوشته شوند که یونیتی آن را می فهمد. این زبان راه ارتباطی ما با موتور بازی خواهد بودو دستورالعمل های آن را از این طریق به آن خواهیم فرستاد.
سی شاپ در یونیتی
زبانی که در یونیتی استفاده می شود و ما امروز با آن سرو کار داریم زبان برنامه نویسی #C است. مثل زبان های دیگر #C نیز دارای نوع کلمات و syntax و بخش هایی اصلی همچون متغیرها، توابع و کلاس ها می باشد.
اگر شما از نسخه ی 2017 یونیتی استفاده می کنید، می دانید که برنامهی Editor آن MonoDevelop نام دارد. این برنامه ویرایشگر به ما کمک می کند کد های خود را کامل کنیم. از سال 2018 شما می توانید از Visual studio برای یونیتی استفاده کنید. در این یک نمونه کد برای یونیتی را با هم بررسی می کنیم.
بیشتر بخوانید: کدنویسی در یونیتی
در این کد ها یک سری متغیر و تابع و کلاس را می بینیم.
کار این کد ها چیست؟
متغیرها مقادیر و ارزش های اشیا را در خود جای میدهند. آنها مثل یک جعبه می مانند که چیزی برای استفاده در آن ها نگه داشته می شود. همیشه متغیرها با حرف کوچک نوشته می شوند.
تابع ها مجموعه ای از کد ها هستند که متغیر ها را دستکاری می کنند. تابع ها با حرف بزرگ شروع می شوند. کدها در توابع دسته بندی می شوند و می توان براحتی آن ها را در چند جای برنامه مورد استفاده قرار داد.
کلاس ها روشی برای ساختاربندی کد ها به شکلی است که توابع و متغیر ها با هم یک تمپلیت ( یا قالب) را ایجاد کنند که خصیصه های یک شی را معین می کند.
کدنویسی نهایتا مقایسه ی این اشیا با مقادیر و وضعیت های کنونی است. منطق این کار رسیدن به یک هدف مشخص است.
متغیر ها
در یونیتی، کدنویسی با قرار گرفتن یک سری ابزار و تعریف متغیر ها آغاز می شود. در نمونه ی زیر متغیر های public و private و نقش آن ها بخوبی مشخص شده است.
اگر شما کدی با متن بالا در Editor ایجا کنید یک شی در یونیتیدارید که متغیر light در آن به عنوان public دیده می شود و متغیر نور به شکل private در آن دیده نخواهد شد. این به خاطر تعریفی است که ما بریا رفتار های متغیر در کلاس مشخص تعیین کرده ایم.
دلایل زیادی برای انتخاب متغیر های public و private وجود دارند. متغیر های private کدنویسی تمیز تر را امکان پذیر می کنند. خطایابی و نگه داری از کد ها کار راحت تری خواهد بود.
در صورت انتخاب نوع public شما باید در تمامی پایگاه داده برای پیدا کردن کدهای خاص وقت صرف کنید اما دسترسی به این کد برای دیگران امکان پذیر خواهد بود.
یکی دیگر از جنبه های متغیرها نوع آن ها می باشند. نوع تغیر تعیین کننده ی شکل قرار گیری در حافظه است. نوع می تواند عدد، متن و یا ترکیبی از هر دو باشد. یونیتیباید از قبل بداند که چه نوع متغیری مورد استفاده قرار می گیرد.
یک چیز مهم دیگر در مورد متغیرها نام آن ها می باشد. به یاد داشته باشید نام گذاری متغیر ها نباید با عدد شروع شود و نباید فاصله داشته باشد. در زبان برنامه نویسی #C عرف نام گذاری CameCase است. یعنی با حرف کوچک شروع شده و بدون فاصله کلمات بعدی در آن با حرف بزرگ شروع شوند.
وقتی editor کد را اجرا می کند متغیر های public به شکل زیر نمایش داده می شوند:
تابع ها
کدنویسی متغیر ها را با استفاده از تابع ها بررسی می کند. تابع های مختلفی به شکل خودکار در یونیتی اجرا می شوند:
نوشتن تابع ها
وقتی یک تابع را می نویسید، به یاد داشته باشید که نوع تابع در ابتدا مشخص شده باشد و بعد نام آن و پارامتر های دیگر. نام تابع با حرف بزرگ شروع شده و در بین {} نوشته می شود. مثال:
این تابع را چگونه فرا می خوانیم؟
توابع می توانند محاسبات را انجام داده و یک مقدار را به عنوان خروجی ارائه کنند. شما می توانید از یک تابع بخواهید تا اطلاعاتی را برای شما پردازش کند و یک جواب را به عنوان برگشتی بدهد. اگر شما از نوع "void" استفاده کنید، هیچ جوابی در برگشت ارائه نخواهد شد.
کلاس ها
کلاس ها مجموعه ای از این متغیر ها و توابع می باشند. برای مثال، این متن یک کلاس است:
توجه داشته باشید که نام کلاس باید با نام فایل #C هم خوانی داشته باشد. هم چنین برای این که به یک gameObject متصل شود باید از یک کلاس دیگر به نام MonoBehaviour گرفت شود که به شکل خودکار در ابتدای کدنویسی برای شما قرار داده می شود. کلاس ها ممکن است public یا private باشند.
برخی از دوره های ویدئویی که در زمینه آموزش بازی سازی تولید کرده ایم! دانلود کنید:
- آموزش سی شارپ در یونیتی
- آموزش مقدماتی تا پیشرفته یونیتی
- آموزش بازی سازی با یونیتی برای IOS
- آموزش بازی سازی با یونیتی برای اندروید
- آموزش بازی سازی باانریل انجین
- آموزش بازی سازی با UDK
- آموزش پروژه محور UDK - ساخت بازی ماشین
- آموزش بازی سازی با XNA
- آموزش بازی سازی با Game Maker
در یونیتی، اگر شما یک کلاس custom ایجاد کنید (مثل نمونه ی زیر) باید آنرا Serial کنید. این یعنی باید به داده های ساده تبدیل شود تا یونیتی آن را بررسی کند. وقتی این کار را انجام می دهید، داریم:
نتیجه گیری :
یونیتی به عنوان یک موتور بازی قوی و محبوب نیاز به کد نویسی قوی و تمیز دارد. Scripting نوشتن کد های قابل خوانش در یونیتی است که به ما امکان می دهد رفتارهای GameObjects و نهایتا نحوه ی اجرای بازی یا همان Gameplay را تعیین کنیم. متغیر ها، توابع و کلاس ها همه مبانی شروع کد نویسی در یونیتی می باشند که اصول اولیه ی آنها را در #C را با هم بررسی کردیم.