حرکت به دو طرف و ایست پلیر


حرکت به دو طرف و ایست پلیر


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

یه آبجکت ایجاد کنید اسم آبجکت رو obj_player میذاریم و اسپرایت پیش فرض اون رو spr_stop میذاریم

یک ایونت کرت برای آبجکت خود ایجاد میکنیم

 

در ایونت کریت یک برگه کد از لیب  control ایجاد میکنیم

در برگه کد ایجاد شده کد زیر را وارد میکنیم

image_speed=0.02

با توجه به اینکه تعداد فریم اسپرایت spr_stop ما سه عدد است (خیلی کم) 

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

سه ایونت left - right - no key رو از بخش کیبورد به ابجکتمون اضافه میکنیم.

 نتیجه

 

در ایونت left کد زیر را وارد میکنیم

image_speed=0.2
motion_set(180,4)
sprite_index=spr_move
image_xscale=-1
  • خط اول کد فوق با توجه به پایین بودن سرعت اجرای فریم که در ابتدا ایجاد کردیم سرعت اجرای فریم رو بالا میبره چون تعداد فریم دو اسپرایت ما یکی نیست.
  • خط دوم باعث حرکت آبجکت به سمت چپ با سرعت 4 میشه.
  • خط سوم اسپرایتمون رو به اسپرایت spr_move تغییر میده تا ابجکتمون اسپرایت حرکت رو نمایش بده
  • خط چهارم با توجه به اینکه اسپرایت ما رو به سمت راست هست و ما درصدد حرکت به سمت چپ هستیم پس این کد رو وارد میکنیم تا جهت اسپرایت ما رو عکس کنه تا مناسب حرکت به سمت چپ باشه.

در ایونت right کد زیر رو وارد میکنیم

image_speed=0.2
motion_set(0,4)
sprite_index=spr_move
image_xscale=1
  • خط اول : کد فوق با توجه به پایین بودن سرعت اجرای فریم که در ابتدا ایجاد کردیم سرعت اجرای فریم رو بالا میبره چون تعداد فریم دو اسپرایت ما یکی نیست.
  • خط دوم : باعث حرکت آبجکت به سمت راست با سرعت 4 میشه.
  • خط سوم : اسپرایتمون رو به اسپرایت spr_move تغییر میده تا ابجکتمون اسپرایت حرکت رو نمایش بده
  • خط چهارم : ممکنه جهت اسپرایتمون به علت حرکت به چپ تغییر جهت پیدا کرده باشه پس برای اطمینان جهت اسپرایتمون رو به حالت اولیه بر میگردونیم.

در ایونت  no key کدهای زیر رو وارد میکنیم تا ابجکتمون از حرکت ایستاده و اسپرایتش نیز تغییر کند.

sprite_index=spr_stop
speed=0
image_speed=0.02
  • خط اول : اسپرایتمون رو تغییر میدیم به اسپرایت spr_stop
  • خط دوم : سرعت حرکت آبجکت رو صفر میکنیم تا ابجکت دیگر حرکت نکند
  • خط سوم : با توجه به تعداد فریم کم اسپرایتمون سرعت اجرای فریم اسپرایتمون رو کم میکنیم

یک روم ایجاد میکنیم و در بخش تنظیمات روم اندازه روم رو مثلا 2000*800 میذاریم

به بخش بکگراند میریم و یک بک گراند برای روم خود انتخاب میکنیم (جهت زیبایی)

تیک گزینه strech رو میزنیم تا کل روم رو پوشش بده

به بخش view میریم و یه ویو برای روم خودمون ایجاد میکنیم 

تیک گزینه های مشخص شده رو میزنیم و اندازه ویو رو مثلا 800*600 میذاریم.

برای اینکه ویو به دنبال پلیرمون بره در بخش object following آبجکت پلیرمون رو انتخاب میکنیم

برای اینکه پلیرمون به انتهای ویو نچسبه و تقریبا وسط ویو باشه بخش hbor و vbor رو 300.300 قرار میدیم البته میشه 400.300 هم قرار داد(تست کنید)

بازی رو اجرا میکنیم run و تست میکنیم 

موفق باشید.

 


Download

gmz

1.24 mb







ارسال نظر




رفتن به بالا