ساخت نوار سلامتی در یونیتی

ساخت نوار سلامتی در یونیتی

در یونیتی چندین روش برای ساخت نوار سلامتی وجود دارد ، در حال حاضر یکی از بهترین روش ها استفاده از یوآی یونیتی هست.

در ادامه با این آموزش یونیتی از وبلاگ توسعه دهنده بازی همراه باشید.

 

با استفاده از ui یونیتی یک image به صحنه پروژه خود اضافه کنید ، سپس اسپرایت مورد نظر خود را به Source Image دهید.

از قسمت Image Type نوع آن را به Filled تغییر دهید ، در قسمت Fill Method می توانید نوع کسر شدن از image خود را انتخاب کنید که معمولا برای کم شدن سلامتی از Horizontal (افقی) استفاده می شود.

می توانید در قسمت Fill Amount با حرکت دادن اسلایدر نحوه کسر شدن از Image خود را مشاهده کنید.

 

 

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

سپس این اسکریپت نمونه را می توانید در آن تایپ کنید : 

 

 

شروع به شرح خطوط کد می کنیم : 

در خط 3 می بیند که فضای نام Ui یونتی را به اسکریپت اضافه کردیم چون از Image داریم در اسکریپت استفاده می کنیم

در خط 7 متغیر با سطح عمومی تعریف کردیم تا Image خود را از داخل یونیتی به آن دهیم.

در خط 8 متغیر سلامتی بکاراکتر خودملان را مشخص کردیم(در بعضی از بازی ها از اسکریپت دیگر صدا زده می شود بسته به نوع اسکریپت نویسی توسعه دهنده)

در خط 17 در هر باز فراخوانی تابع آپدیت 1 واحد از خون کاراکتر کم کردیم.

در خط 20 مقدار Fill Amount را تقسیم بر 100 کردیم هر بار که از خون کاراکتر ما کم شود مقدارش درون Fill Amount  قرار می گیرد.

در خط 22 شرط گذاشتیم اگر مقدارش کم تر یا مساوی 0 شد کاراکتر ما بمیرد.

 

این یک مثال ساده بود تا شما این مفهوم را یاد بگیرید با گذاشتن چند شرط دیگر می توانید دستورات کامل و حرفه ای ایجاد کنید.

 

موفق باشید...

۰ ۰ ۸ دیدگاه

دیدگاه‌ها (۸)

ممنون از آموزشتون
ببخشید توی کنترل فریک دکمه هاشو چطور میشه اینطوری کرد؟

پاسخ:

۲۵ فروردين ۹۶، ۱۲:۰۵
سلام دوست عزیز
منظورتون رو متوجه نشدم چطوری؟!
اگر کمی به ui یونیتی آشنا باشید عوض کردن دکمه ها کاری نداره
موفق باشید

سلام خب الان چطوری بگم که اگه فلان چیز به کارکتر ما خورد جون کارکتر کم بشه؟

پاسخ:

۱۴ خرداد ۹۷، ۱۷:۲۳
سلام حسین عزیز
می توانید از تریگر ها استفاده کنید
در دوره جامع دو بعدی به این مباحث کامل پرداخته ام


میخوام بگم جونم از این مقدار کمتر شد فلان صدا رو پخش کن 

این کد رو میدم صدا به صورت رگباری (خشخشی)پخش میشه مشکلش کجاست 
if(health <= 60){myAudio.Play();}

پاسخ:

۲۵ تیر ۹۷، ۱۲:۳۶
سلام علی رضا عزیز
در این شرط به دلیل این که شرط شما برقرار هست مدام صوت play می شود و این باعث میشه اینقدر زیاد تکرار شود که صدا خش خش داشته باشد
یک متغیر بولین تعریف کنید
bool playSound
در شرط از && استفاده کنید و اگر متغیر بولین شما برابر با false بود صدا را پخش کنید
هر بار که صدا پخش می شود بلافاصله متغیر را صحیح کنید در انتهای دستورات  playSound = true قرار بدید
در دوره جامع دو بعدی به موارد صوت و دستورات آن پرداخته شده است
موفق باشید

سلام
من میخوام وقتی Player روی یه کیف کلیک کرد خون در بالا نمایش داده بشه.
چجوری خون و به کیف متصل کنم؟

پاسخ:

۱۰ آذر ۹۷، ۱۳:۴۱
سلام علی عزیز
شما در ابتدا باید از یک کنواس World Space استفاده نمائید
در این کنواس یک اسلایدر قرار دهید که توسط برنامه نویسی میران آن کم و زیاد شود و از طریق MouseOnClick زمانی که روی کیف کلیک شد فعالش کنید
اگر با یونیتی تازه آشنا شدید پیشنهاد میدهم ابتدا با مشاهده دوره ها و تمرین به سطح نسبی در برنامه نویسی دوره برسید سپس اقدام به ساخت بازی کنید
موفق و مستدام باشید

بهنام نوروزی

۱۹ بهمن ۹۷ ، ۱۱:۵۵
سلام آقای رجب زاده ، من با این روش یک نوار جون ساختم و خواستم با کد کاری کنم که وقتی یک جسم به جسم دیگر برخورد کرد از این نوار جون کم بشه .ولی ارور میده لطفا کمک کنید .
ارور:NullReferenceException:Object reference not set to an instance of an object

پاسخ:

۲۴ بهمن ۹۷، ۱۱:۳۱
سلام بهنام عزیز
این ارور معمولا به دلیل این است که متغیری تعریف کردید ولی مقدار دهی نشده است
موفق باشید

سلام واقعا مرسی از اموزش درجه یکتون. ببخشید اگر من بخام یه عدد هم کنارش بیاد و اون همراه با عکس کم بشه باید چیکار کنم؟ هرچی تلاش کردم حتی عدد ه گذاشتم ولی نتونستم کمش کنم با کد ممنون میشم کمکم کنین.


خط 17 و 20 رو متوجه نمیشم به چه دلیل اعداد نوشته شدن


میشه به جای عکس عدد بزاریم 


ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

GameDeveloper

تمام آموزش های جدید در تلگرام آپلود شده اند https://t.me/GameDevUnity

آخرین مطلب
آخرین نظرات