چگونه بازی پلتفرم بسازیم؟
|ایجاد ایونت
ایونتها یک سری شرایط رو بررسی میکنند و درصورتی که اون شرایط برقرار باشند، اکشنها[1] اجرا میشن.
در اینجا ما میخوایم پلیر همیشه روی PlayerBox قرار داشته باشه. برای انجام این کار باید بگیم در هر لحظه پلیر بیاد روی PlayerBox.
یه جای خالی ایونت شیت[2] دابل کلیک کنید تا یه ایونت جدید به وجود بیارید.
روی شیء System دابل کلیک کنید. بعد توی پنجرهی بعدی روی Every tick دابل کلیک کنید.
این ایونت رو که ایجاد کردیم اکشنهاش رو هر لحظه اجرا میکنه:
روی Add action کلیک کنید.
ما میخوایم تعیین کنیم که مکان پلیر کجا باشه پس چون مربوط به پلیر میشه باید روی Player دابل کلیک کنید.
روی Set position to another object دابل کلیک کنید تا بگین که پلیر روی یک شیئی باشه. توی پنجرهی بعدی میگه روی کدوم شیء باشه؟ شما هم روی <click to choose> کلیک کنید و بعد شیء PlayerBox رو انتخاب کنید. عددی رو که جلوی Image point نوشته عوض نکنید و بذارین همون صفر بمونه (که این یعنی همیشه مبدأ پلیر روی مبدأ PlayerBox باشه). روی Done کلیک کنید. ایونتمون باید این شکلی شده باشه:
با این کار این احساس رو ایجاد میکنیم که پلیر داره راه میره با اینکه پلیر همیشه روی شیء PlayerBox هست و این PlayerBox هست که داره راه میره.
با کلیک روی دکمهی Play () که توی نوار عنوان قرار داره بازی رو اجرا کنید.
با کلیدهای جهتی حرکت کنید و بپرید. شما اوّلین بازی پلتفرم خودتون رو راه انداختید و اجرا کردید!
مشکلات
اگه یکم دور و بر حرکت کنید متوجّه این مشکلات میشید:
- موقع حرکت به سمت چپ پلیر هنوز صورتش به سمت راسته.
2. هنوز هیچ انیمیشن دیگهای به غیر از انیمیشن بیکار بودن وجود نداره.
بیاین این مشکلات رو برطرف کنیم! اوّل از همه شمارهی 1: بیاین تنظیم کنیم وقتی پلیر به چپ حرکت میکنه روش به سمت چپ باشه و برعکس.
با استفاده از سربرگها به لیوت برگردید. یه جای خالی دابل کلیک کنید تا دوباره یه شیء جدید بذاریم تو بازی، شیء Keyboard رو انتخاب کنید. این شیء فقط برای اینه که ایونتها و اکشنهای مربوط به کیبورد فعّال بشن و لازم نیست اونو جایی قرار بدید.
به جای اینکه یه انیمیشن جدید وارد کنیم که رویش به سمت چپه، خیلی راحت از اکشن Set mirrored استفاده میکنیم، این اکشن تصویر رو به صورت افقی قرینه میکنه و باعث میشه پلیر روشو به سمت چپ کنه به جای راست.
به ایونت شیت برگردید، میخوایم بگیم اگه کلید چپ فشار داده شد تصویر پلیر قرینه بشه.
یه جای خالی دابل کلیک کنید یا روی Add event کلیک کنید تا یه ایونت جدید به وجود بیارید. حالا روی شیء Keyboard دابل کلیک کنید، چون فشار دادن کلید چپ به کیبورد مربوط میشه.
یه لیست از شرطهای مربوط به کیبورد ظاهر میشه. روی On key pressed دابل کلیک کنید تا تنظیم کنید اگر کلیدی فشار داده بشه چه اتّفاقی بیفته.
کنستراکت 2 باید بدونه که با فشار دادن کدوم کلید اکشنها رو اجرا کنه، پس در پنجرهی بعدی روی <click to choose> کلیک کنید و بعد کلید چپ رو فشار بدین و بعد روی OK کلیک کنید و بعد هم روی Done کلیک کنید.
حالا میخوایم اکشنمون یعنی قرینه کردن افقی تصویر پلیر رو اضافه کنیم. مثل قبل، باید اوّل شیء رو انتخاب کنید، بعد نوع شرط یا اکشن رو انتخاب کنید، بعد پارامترهای اضافی رو وارد کنید. پس روی Add action که سمت راست ایونت قرار داره کلیک کنید (حواستون باشه اشتباهی روی Add event کلیک نکنید!)
بعد روی Player دابل کلیک کنید.
بعد روی Set mirrored دابل کلیک کنید.
State که به طور پیشفرض روی Mirrored تنظیم هست رو تغییر ندین و روی Done کلیک کنید.
حالا باید اینو داشته باشید:
حالا یه ایونت دیگه اضافه کنید – یه جای خالی کلیک راست کنید یا روی Add event کلیک کنید.
حالا دوباره همهی کارایی رو که الآن گفتیم انجام بدین ولی این بار به جای کلید چپ کلید راست کیبورد رو فشار بدین تا ایونتتون بشه On right arrow key pressed و در آخرش هم State رو به Not mirrored تنظیم کنید. آخرش باید این شکلی بشه:
حالا وقتی ما چپ رو فشار میدیم تصویر پلیر به صورت افقی قرینه میشه یعنی روشو میکنه سمت چپ و وقتی راست رو فشار میدیم دوباره تصویر پلیر از حالت قرینه بودن خارج میشه یعنی روشو دوباره میکنه سمت راست. بازی رو اجرا کنید و امتحانش کنید!
[1] اکشن (Action): عمل
[2] ایونت شیت: Event Sheet
میشه در مورد اون قسمت چشمک زدن پلیر بیشتر توضیح بدید هر چی میگردم پیداش نمیکنم!!!!!!
سلام، میتونید ویدئوی همین آموزش رو مشاهده کنید
سلام و درود
تبریک میگم بهتون، من تازه برنامه نویسی اندروید رو شروع کردم و علاقه زیادی به ساخت بازی دارم یکی از دوستانم کنستراکت ۲ رو بهم معرفی کردند. ممنون بابت آموزش های خوبتون