آموزش یونیتی- قسمت بیستم

می توانید بازی را به صورت کامل از صفحه وب کتاب دانلود کرده و همه اسکریپت های بازی را مرور کنید . در این قسمت ، من چند تا از اسکریپت های بازی را همراه با توضیحاتی آورده ام تا به شما در خواندن اسکریپت ها ، کمک شود . اسکریپت منتخب – متغییرهای جهانی اسکریپت زیر ، اسکریپت GameData است که قبلا ایجاد کردیم اما با چند تغییر مهم . به یاد دارید که این اسکریپت را در نمای Hierarchy به Camera Main الصاق کردیم . اسکریپت ها باید به اشیاء بازی الصاق شوند وگرنه اجرا نخواهند شد . این اسکریپت متغییرهای water و corn را نصب کرده طوری که بتوانند به صورت جهانی مورد استفاده قرار گیرند . هر متغییر در ابتدا به شکل int static private و همراه با پیشوند یک _ به اسم متغییر ، اعلام می شود . اینها متغییرهای اصلی ما هستند . می توانیم از water.GameData و corn.GameData برای به دست آوردن مقدار فعلی این متغییرها ، استفاده کنیم . برای تغییر این متغییرها ، می توانیم با استفاده از کدهائی مثل
; ۲+water.GameData = water.GameData یا ; ۲+=water.GameData ، آنها را افزایش یا کاهش دهیم :

آموزش یونیتی- قسمت بیستم


اسکریپت منتخب – فراخوانی انیمیشن take

هدف ما این است که بازیکن را قادر کنیم از کلید T استفاده کرده و انیمیشن take را فراخوانی کند . در اسکریپت زیر چند کار انجام می شود و با استفاده از یک if و ارزیابی(( (T.KeyCode (GetKeyDown.Input تعیین می کنیم که آیا کاربر کلید T صفحه کلید را فشرده یا نه . اگــر بــازیکن کلیــد T را فشــرده باشــد ، انیمیشــن take پخــش مــی شــود . بــرای ایــن کــار ابتــدا anim را بــه عنــوان یــک متغییــر نــوع Animator اعــلام مــی کنــیم . ســپس یــک عــدد صــحیح بــه نــام takeHash ایجـــاد و بـــا StringToHash.Animator =(“Take )” مقـــدار آن را بـــ ا انیمیشـــن  take نصـــب مـــی کنیم . حالا می توانیم با (takeHash)Play. anim به انیمیشن مراجعه کنیم :



اسکریپت منتخب – غذادادن به حیوانات مزرعه

این کار هنگامی انجام می شود که کاراکتر بازیکن یعنی Colt با یک حیوان برخورد کند . برای انجام این کار ما یک برخوردکننده کره شکل (Collider Sphere)به هر حیوان اضافه می کنیم . برای این کار مراحل زیر را انجام دهید:

۱ .در نمای Hierarchy ، حیوان مزرعه را انتخاب کنید.

۲ . به منوی Component >>Physics>> Sphere  Collider بروید . این کار یک کره در اطراف حیوان ایجاد می کند.

۳ .در نمای Inspector ، شعاع این کره ( Radius) را  به شکل زیر طوری تنظیم کنید که ، حیوان در داخل کره قرار گیرد:

۴ . سپس در قسمت Collider Sphere مربوط به پنل Inspector ، باید تیک گزینه Is Trigger را فعال کنیم :

آموزش یونیتی- قسمت بیستم

آموزش یونیتی- قسمت بیستم

۵٫ حالا این collider را اسکریپت نویسی می کنیم . از منو Assets>> Create>> C#  Script | | یک اسکریپت جدید ایجاد کنید و آن را FeedChicken بنامید.

۶ . اسکریپت را به شکل زیر ویرایش کنید:

آموزش یونیتی- قسمت بیستم


۷٫  آخرین کار واگذاری این اسکریپت به یکی از اشیاء بازی است . در نمای Hierarchy و درحالیکه شئ حیوان انتخاب شده است ، منو Component>> Scripts >>Chicken Feed  را انتخاب کنید . این کار اسکریپت را به شئ بازی واگذار می کند . قبلا این کار را با درگ کردن اسکریپت از نمای Project به داخل شئ بازی در نمای Hierarchy انجام می دادیم . هر دو این شیوه ها به خوبی کار می کنند.

 اشاره : می توانید یکی از چهار حیوان مزرعه را برنامه نویسی کرده و برای بقیه ، این کدها را کپی کنید تا زمانتان ذخیره شود.

سازمان دهی اسکریپت ها

 
اگر در حال کار بر روی یک پروژه بازی بزرگ باشید ، می فهمید که مدیریت تعداد زیادی از اسکریپت ها سخت می شود . چند تاکتیک برای حل این مشکل وجود دارد . اولین و شاید آسانترین آنها ، ایجاد یک پوشه اسکریپت در نمای Project و نگهداری همه اسکریپت ها در آنجاست . دومین شیوه ، اضافه کردن متنی مثل _script به ابتدای اسم فای ل اسکریپت هاست تا شناسائی آنها آسان تر شود . با این شیوه ، اسکریپت cs.FeedChicken به شکل cs.FeedChicken_script نام گذاری خواهد شد . در نمای Project ، چهار Favorites وجود دارد که هرکدام با یک آیکو ن جستجو نمایش داده شده اند . کلیک بر روی Scripts All آنها ، لیستی از همه اسکریپت های موجود در پروژه را باز خواهد کرد .

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