هیچ محصولی به سبد خرید اضافه نکرده اید

دنیای بازی و گیمینگ

آموزش ایجاد نوار سلامتی در Game Maker

در این آموزش کاربردی از سایت ای تاتس قصد داریم روش ایجاد نوار سلامتی با استفاده از کد نویسی رو به شما آموزش بدیم. با ما در این آموزش مهم همراه باشید.

draw_healthbar

سلامتی توی جهان واقعی به خیلی چیزها بستگی دارد. سلامتی هم روحی هست و هم جسمی و عوامل مختلف ممکن هست سلامتی ما را به گونه ای در معرض خطر قرار بدهد. در بازی های رایانه ای معمولا سلامتی یک عدد از 100 می باشد که آن را به صورت یک نوار نشان می دهند (البته بازی هایی هستند که سیستم سلامتی آن ها کاملا متفاوت می باشد). در این مقاله می خواهم ساخت نوار سلامتی در گیم میکر را به شما آموزش بدهم.
در ابتدا متغیری در گیم میکر را به شما معرفی می کنم:

 

health
 

همان طور که می دانید در گیم میکر متغیرهای آماده ای وجود دارد که می توانید از آن ها استفاده کنید. این متغیر یکی از آنهاست. این متغیر برای کنترل میزان سلامتی کاراکتر می باشد که می تواند یک عدد از 0 تا 100 باشد (البته مقدار کمتر و بیشتر از این بازه را نیز می توانید در آن قرار دهید که اندکی غیر منطقی است).

برای این متغیر یک رویداد، چند اکشن و تابع وجود دارد که ابتدا آن ها را معرفی می کنم.

رویداد ها

رویداد No more health: این رویداد هنگامی فراخوانی می شود که مقدار متغیر health برابر و یا کمتر از صفر شود. در این رویداد می توانید کاراکتر را بمیرانید، یک واحد از متغیر lives که آن هم یک متغیر آماده در گیم میکر است کم کنید، بازی را restart کنید و …

اکشن هاscorin1

3 اکشن در سربرگ score وجود دارد:

Set Health: این اکشن برای تعیین میزان سلامتی می باشد. می توانید یک عدد از 0 تا 100 در آن قرار دهید؛ و یا اگر گزینه ی Releative را فعال کنید می توانید مقدارهای دیگر به آن دهید، مثلا مقدار منفی 1 را در آن قرار دهید تا از سلامتی یک واحد کم شود.

Test Health: مقدار سلامتی را چک می کند. می توانید چک کنید که سلامتی برابر (equal)، کمتر (smaller than) و یا بیشتر (larger than) از عدد وارد شده (value) باشد و یا نباشد (NOT). واضح گفتم؟

Draw Health: این اکشن در رویداد Draw به کار می رود و برای نمایش میزان سلامتی می باشد. نوار سلامتی به صورت یک مستطیل از نقطه با مختصات x1 و y1 تا نقطه با مختصات x2 و y2 کشیده می شود. back color رنگ پس زمینه ی نوار سلامتی را تعیین می کند که در تصویر زیر قرمز است. bar color رنگ میزان سلامتی را تعیین می کند. مقدار green to red به این صورت می باشد که اگر میزان سلامتی 100 باشد رنگ نوار سبز است و هرچه به صفر نزدیک تر شود رنگ آن به سمت قرمز می رود. مقدار black to white هم به همین صورت است. مقدارهای دیگر تنها یک رنگ می باشند. با فعال کردن گزینه ی Releative می توانید نوار سلامتی را به دنبال آبجکت بکشانید.

Score Caption: این اکشن برای نمایش امتیاز، تعداد جان و سلامتی در titlebar پنجره بازی می باشد. در گزینه های show score، show lives و show health می توانید تعیین نمایید که کدام نمایش داده شود. در گزینه های caption نیز می توانید تعیین کنید که هرکدام با چه عنوانی نمایش داده شوند.

 

توابع و کدها

show_health

این متغیر تعیین می کند که مقدار health در titlebar صفحه بازی نمایش داده شود یا خیر. مقدار آن را برابر true یا false قرار دهید. همانند گزینه ی show health در اکشن Score Caption می باشد.

caption_health

این متغیر عنوان متن میزان سلامتی در titlebar را مشخص می کند. آن را برابر یک رشته قرار دهید. مقدار پیشفرض آن را در اکشن Score Caption در پارامتر health caption می توانید ملاحظه کنید.

 

 

draw_healthbar(x1,y1,x2,y2,amount,backcol,mincol,maxcol,direction,showback,showborder)

این تابع برای کشیدن نوار سلامتی در بازی می باشد. x1، y1، x2 و y2 مختصات مکان نوار سلامتی می باشد. amount یک مقدار از صفر تا 100 می باشد. اگر می خواهید نوار سلامتی بازی کشیده شود در آن متغیر health را قرار دهید. همچنین می توانید متغیرهای دیگری که خودتان تعریف کرده اید و می خواهید نمایش داده شود را قرار دهید (برای مثال Power). فقط توجه نمایید حداکثر آن 100 و حداقل آن صفر می باشد. backcol رنگ پس زمینه ی نوار را مشخص می کند. mincol و maxcol رنگ میزان سلامتی می باشند. می توانید هر دو را یکسان و یا دو رنگ متفاوت قرار دهید. برای مثال اگر مقدار mincol را c_red و مقدار maxcol را c_green تعیین کنید همانند اکشن draw health مقدار green to red که درباره ی آن صحبت کردیم عمل می کند. متغیر direction تعیین می کند جهت نوار سلامتی به کدام سمت باشد. این پارامتر چهار مقدار قبول می کند. مقدار 0 جهت خالی شدن نوار سلامتی از راست به چپ، مقدار 1 از چپ به راست، مقدار 2 از بالا به پایین و مقدار 3 از پایین به بالا می باشد. showback تعیین می کند رنگ پس زمینه ی backcol دیده شود یا خیر. مقدار showborder تعیین می کند خطی دور نوار سلامتی کشیده شود یا خیر (رنگ آن همیشه مشکی می باشد).

تا به اینجای کار را یاد گرفتید و می توانید به راحتی در بازی های خودتان سلامتی برای کاراکتر قرار دهید. اما اگر بخواهید برای چند کاراکتر سلامتی قرار دهید دیگر متغیر health نمی تواند استفاده شود، زیر این متغیر نمی تواند برای چند میزان سلامتی استفاده شود. اگر بخواهید برای هم خودتان و هم دشمنانتان سلامتی تعریف کنید می بایست برای هرکدام یک متغیر میزان سلامتی تعریف کنید.

شما می توانید برای هر آبجکت یک متغیر میزان سلامتی تعریف کنید که بازه ی آنها مشترک باشد. برای مثال همه ی آن ها از صفر تا 100 باشند. در این صورت به راحتی می توانید سلامتی هر آبجکتی را که بخواهید با تابع draw_healthbar نمایش دهید.

همچنین می توانید برای هر آبجکت میزان حداکثر سلامتی را توسط متغیری عددی غیر از 100 تعیین کنید (که در طول بازی می تواند پیشرفت کاراکتر میزان حداکثر سلامتی نیز افزایش یابد یا میزان حداکثر سلامتی دشمنان متفاوت باشد). نگران نباشید؛ در این صورت هم می توانید از تابع draw_healthbar استفاده نمایید. فقط با یک عمل ریاضی میزان سلامتی را تبدیل به یک مقدار درصدی نمایید و آن را در پارامتر amount قرار دهید:

myAmount = myHealth / myMaxHealth * 100;

البته شما می توانید به جای این تابع خودتان نوار سلامتی زیباتری بکشید.

تصویر پروفایل سید جاوید حسنی

سید جاوید حسنی

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


یک دیدگاه بگذارید

لطفا اگر سوالی خارج از موضوع این مطلب دارید آن را در فروم مطرح کنید.