آموزش یونیتی- قسمت شانزدهم
بازی ما تقریبا شکل گرفته است . تا به حال ، ما طراحی بازی ؛ محیط بازی ؛ کاراکتر بازیکن ؛ کاراکترهای غیربازیکن و انیمیشن ها را تکمیل کرده ایم . چند چیز دیگر باقی مانده تا بازی کامل شود . اسکریپت نویسی یکی از آنهاست . در ادامه برای انجام کارهای زیر اسکریپت می نویسیم :
- مدیریت مقدار آب و غله ای که Colt جمع آوری می کند .
- نظارت بر مقدار آب و غله ای که به هر حیوان مزرعه داده شده است .
- مدیریت تبدیل یک بچه گراز یا جوجه به حیوانی بالغ.
قبل از رفتن به سراغ اسکریپت نویسی ، مرور کلی بر روی برنامه نویسی #C خواهیم داشت . ما همچنین نحوه اسکریپت نویسی در یونیتی و نحوه استفاده از MonoDevelop را نیز بررسی می کنیم . بعد از مطالعه چند قسمت آتی با مفاهیم زیر آشنا میشوید:
- اصول #C
- می توانید از MonoDevelop برای ایجاد و ویرایش اسکریپت ها ، استفاده کنید .
- می توانید اسکریپت ها را در پروژه یونیتی ، پیدا کنید .
- با نحوه خواندن اسکریپت های یونیتی آشنا می شوید .
- می توانید اسکریپت های دلخواهتان را ایجاد کنید.
توجه : در ادامه خواهید دید که اصطلاحات اسکریپت نویسی و برنامه نویسی به جای یکدیگر استفاده می شوند . در این آموزش، هردو اینها ؛ یک مفهوم هستند.
برنامه نویسی #C
#C یک زبان برنامه نویسی جامع است . آموزش نحوه استفاده از این زبان ، خارج از حد این کتاب است . اما در این قسمت ، ما اطلاعات مناسبی را فراهم کرده ایم تا بتوانید اسکریپت هائی را که برای بازی می نویسیم ، درک کنید.
#C یک زبان برنامه نویسی مبتنی بر تابع و شئ گراست . تابع ها ؛ قطعاتی از کدهاست که ما اسکریپت نویسی می کنیم و دارای قابلیت استفاده مجدد هستند . مثلا اگر اسکریپتی به نام feedPig ایجاد کنیم ؛ احتمال دارد این اسکریپت مسئول مدیریت انتقال آب و غله از Colt به یک گراز باشد . چون ما چندین گراز در بازی داریم ؛ احتمالا از این تابع خیلی زیاد استفاده خواهد شد . همانطور که گفتم ، #C یک زبان برنامه نویسی شئ گراست . زبان های شئ گرا از کلاس ها استفاده می کنند . کلاس ها مجموعه ای از داده ها و تابع ها هستند . برای مثال اگر یک کلاس به نام babyChick داشته باشیم ؛ این کلاس می تواند داده “مقدار غله مصرف شده توسط جوجه” را نگه دارد . کلاس دیگری می تواند “عمل رشد و تبدیل جوجه به مرغ” را انجام دهد.
گرامر
گرامر زبان برنامه نویسی ، شبیه به ساختار جمله و دستور زبان است . کد #C زیر را در نظر بگیرید
;int cornAmount = 0
لیست زیر نشان می دهد ، این کد درباره چه چیزی است:
در سمت چپ علامت مساوی ؛ int cornAmount است . این متغییر جدید (cornAmount )به عنوان یک عدد صحیح اعلام شده است . بنابراین ، نحوه اعلام یک عدد صحیح ، استفاده از int و سپس اسم متغییر است.
۰ = یک مقدار به عدد صحیح واگذار می کند . در این مورد ؛ این مقدار صفر است .
کد با یک سمیکولون (;) پایان یافته است .
آموزش یونیتی- قسمت شانزدهم
چند نکته در خصوص برنامه نویسی در #C
- فاصله ها معمولا مهم نیستند مگر اینکه بخشی از یک متن باشند . در بیشتر قسمت ها ، #C فاصله ها را نادیده میگیرد.
- حرف کوچک و بزرگ ، باعث ایجاد تفاوت می شود . مثلا cornAmount و cornamount یکی نیستند .
قراردادهای نام گذاری
هنگام برنامه نویسی ، استفاده از یک قرارداد نام گذاری ، کمک کننده خواهد بود . چندین دلیل برای انجام این کار وجود دارد:
- اولا ، خواندن کدها را آسان تر می کند .
- همچنین به افرادی غیر از برنامه نویس اصلی کمک می کند ، به سرعت کدها را بفهمند .
- سومین مزیت استفاده از یک قرارداد نام گذاری این است که به شما کمک می کند سریع تر برنامه بنویسید .
در زیر چند مثال از قراردادهای استاندارد نام گذاری می بینید .
اسامی کلاس ها ، تابع ها و متدها حرف اول هر کلمه از اسم کلاس ها ، تابع ها و متدها باید یک حرف بزرگ باشد . در مثال های زیر ، EatCorn ؛ Start و Update از این قرارداد پیروی می کنند
}public class EatCorn : MonoBehavior
} void Start ( )
} void Update ( )
{
{
آموزش یونیتی- قسمت شانزدهم
قرارداد Camel case
متغییرهــا و آرگومــان هــا از قــراردادی معــروف بــه camelCase اســتفاده مــی کننــد . ایــن قــرارداد مــی گویــد ، اولــین کلمــه دارای حــرف کوچــک باشــد امــا کلمــات بعــدی بــا حــرف بــزرگ شــروع شــوند . ســه مثال زیر را ببینید
pigletGrowth
coltCornHolding
chickenEatCorn
اختصار
هنگام برنامه نویسی باید از اختصار و کوتاه نویسی دوری کرد البته به جز چند استثنا . قبلا دیدیم که برای integer) اعداد صحیح) از int استفاده کردیم . این علاوه بر اینکه یک اختصار است ، یک کلمه کلیدی #C است . مثال های زیر زمانی را نشان می دهد که نباید از اختصار و کوتاه نویسی استفاده کرد:
مثال بد: p1CrnCon
مثال خوب: piglet1CornConsumed
مثال بد cknay
مثال خوب: chickenArray
مثال بد: plyH20Hld
مثال خوب: playerWaterHeld
هدف این قرارداد ؛ خواناتر شدن اسکریپت هاست .
کاراکترهای خاص
باید از استفاده کاراکترهای خاص مثل خط تیره (-) و underscore (_ ) دوری کرد . اینها تعداد خطاهای ممکن در زمان اسکریپت نویسی را افزایش می دهند . بنابراین به جای Array_chicken از chickenArray استفاده کنید .
انواع داده
در #C بیش از ۱۲ نوع داده استفاده می شود و حتی خودتان نیز می توانید یک نوع داده مخصوص ایجاد کنید . لیست زیر ، انواع داده مورد استفاده در بازی ما خواهد بود :
نوع داده : بولی (bool)
توضیح : True یا False (صحیح یا غلط)
نوع داده : عدد صحیح (int)
توضیح: همه اعداد بین ۲,۱۴۷,۴۸۳,۶۴۸- تا ۲,۱۴۷,۴۸۳,۶۴۷
نوع داده : رشته متنی (string)
توضیح : متن هائی مثل “Colt Farmer Hello “
نوع داده : آرایه
توضیح : آرایه ها را می توانید به شکل داده های کنار هم در حافظه ؛ تصور کنید.
منبع:
javad.arbabi e-book
ir.dev-bazi
دیدگاه ها (۰)