آموزش یونیتی- قسمت هجدهم

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

اجازه دهید با مرور طراحی بازیمان ، تعیین کنیم که چه چیزهائی باید اسکریپت نویسی شوند . می دانیم که عمده ترین کاری که کاربر انجام می دهد ، هدایت و حرکت دادن کاراکتر بازیکن در محیط بازی است . همانطور که قبلا دیدید ، این کار توسط یونیتی برای ما انجام می شود و نیازی به برنامه نویسی ندارد . ما باید برای رویدادهای جمع آوری آب و غله توسط بازیکن و تغذیه حیوانات ، طرح ریزی کنیم .

جمع آوری غله


ما بازی را طوری طراحی کرده ایم که کاراکتر بازیکن بتواند غله را جمع آوری کرده و حیوانات مزرعه را با آن تغذیه نماید. شیوه انجام این کار این است که تشخیص دهیم کی کاراکتر بازیکن و اشیاء غله با هم برخورد می کنند . هنگامی که این برخورد اتفاق افتاد ، اگر بازیکن از دستور take استفاده کند , غله جمع آوری خواهد شد . نمودار زیر این کار را بهتر نشان می دهد :

آموزش یونیتی- قسمت هجدهم

آموزش یونیتی- قسمت هجدهم


پس چهار اسکریپت نویسی باید انجام دهیم:

  1. اضــافه کــردن یــک collider) برخوردکننــده) بــرای اینکــه بفهمــیم کــی کنتــرل کننــده بــازیکن و اشــیاء غله باهم برخورد کرده اند.
  2. دادن توانائی فراخواندن دستور take به بازیکن . ما این را برای کلید T صفحه کلید ، برنامه نویسی می کنیم . اگر در حال ساخت این بازی برای دستگاه های موبایل هستید ، باید به دنبال راه حل دیگری غیر از صفحه کلید بگردید.
  3. تعیین اینکه آیا در هنگامی که برخورد اتفاق افتاده است ، بازیکن از دستور take استفاده کرده یا نه ؟
  4. پیگیری اینکه بازیکن چقدر غله دارد .


جمع آوری آب


جمع آوری آب نیز شبیه به جمع آوری غله است . ما از یک listener برای تشخیص برخورد و تعیین اینکه آیا بازیکن دستور take را به کارگیری کرده است یا خیر ؛ استفاده می کنیم . سپس باید مقدار آبی را که بازیکن دارد ، ردگیری و دنبال کنیم . برای اسکریپت نویسی جمع آوری آب:

  1. اضافه کردن collider برای تشخیص برخورد.
  2. تعیین اینکه آیا بازیکن درهنگام برخورد ، از دستور take استفاده کرده است یا نه.
  3. دنبال کردن اینکه بازیکن چقدر آب دارد .  


غذادادن به بچه گرازها


بازی با ۱۰ بچه گراز در مزرعه کشاورز شروع می شود . برای اینکه اینها رشد کنند ، به آب و غله نیاز دارند . بعد از اینکه بچه گرازها ۵ واحد آب و ۵ واحد غله کسب کردند ؛ به گراز بالغ تبدیل می شوند . نمودار زیر فرایند انجام این کار را نشان می دهد :

آموزش یونیتی- قسمت هجدهم

آموزش یونیتی- قسمت هجدهم


غذا دادن به جوجه ها


غذا دادن به جوجه ها دقیقا مثل بچه گرازها انجام می شود . جوجه ها بعد از به دست آوردن ۵ واحد آب و غله ، تبدیل به مرغ بالغ می شوند . برای هردو گروه از حیوانات ( مرغ و گراز) ؛ به یک شیوه تبدیل از بچه به بالغ را انجام می دهیم . هنگامی که حیوان ۵ واحد آب و غله به دست آورد ؛ یک گراز بالغ را در همان مختصات X ، Y و Z بچه گراز نمایش می دهیم . سپس بچه گراز را مخفی می کنیم .

همین شیوه برای جوجه ها و مرغ ها نیز انجام می شود . غذا دادن گراز های بالغ هنگامی که یک بچه گراز به گراز بالغ تبدیل شد ، گراز دارای صفر واحد آب و غله خواهد بود . گراز به ۱۰ واحد آب و ۱۰ واحد غله نیاز دارد تا کاملا رشد کند . گرازها می توانند بیش از ۱۰ واحد آب و غله مصرف کنند بنابراین ما آنها را محدود نخواهیم کرد .

به دست آوردن تعداد مشخصی از گرازها و مرغ های رشد یافته ، یکی از ماموریت های بازیکن خواهد . بود برای اسکریپت نویسی غذادادن به گرازها ، آنچه را که برای بچه گرازها انجام دادیم ، دنبال می کنیم . غذا دادن به مرغ های بالغ تغذیه مرغ ها نیز به همان شیوه گرازهای بالغ کار می کند . مرغ ها نیز بعد از به دست آوردن ۱۰ واحد آب و غله کاملا رشد می کنند . بازهم محدودیتی در زمینه مصرف آب و غله برای مرغ ها نیز وجود ندارد .

منبع:
javad.arbabi e-book
ir.dev-bazi