آموزش ساخت یک کاراکتر + انیمیشن و حرکت با استفاده از کد و بدون کد. - متنی
سلام به دوستان گل وبلاگمون ☺
تو این آموزش میخوایم با استفاده از عمل ها یا کد یه کاراکتر بسازیم که با انیمیشن حرکت کنه.
خب اول از همه که میدونید باید گیم میکر رو باز کنید.
حالا 5 تا اسپرایت بسازید اسم اولی و بزارید down اسم دومی up سومی right چهارمی left و پنجمی player .
حالا من یه فایل rar ساختم و توش اسپرایت هایی که استفاده میکنیم رو گذاشتم برای دانلود کلیک کنید.
برای اسپرایت player عکس up رو انتخاب کنید و دکمه ویرایش شخصیت رو بزنید image 7 رو انتخاب کنید بعد دکمه Delete رو بزنید تا image 0 حذف کنید اسپرایت هارو بعد بالا گوشه سمت چپ یه تیک هست روش کلیک کنید و تایید بزنید.
بعد یه اسکریپت یا کد بسازید و اسمشو بزارید playercontroller و دو تا هم آبجکت بسازید و اسپرایت player رو به دوتا ابجکت ها نسبت بدید بعد قرار یکی از این ابجکت ها بدون کد یعنی با عمل ها ساخته بشه و یکی هم با کد ، حالا اسم اون ابجکتی که بدون کده رو بزارید player_action و با کد رو player_code بعد تایید بزنید و بیاید بیرون.
حالا یه روم بسازید و یکی از پلیر هارو انتخاب کنید و تو رومتون قرار بدید.
بعد رو آبجکت اولی یعنی player_action دوبار کلیک کنید و رویداد های چپ و راست و بالا و پایین و هیچ کلیدی رو بهش بدید به رویداد هیچ کلیدی برید و عمل حرکت معین رو بهش بدید و وسط رو انتخاب کنید و سرعتشو 0 بدید بعد عمل تغییر شخصیت بدید و اسپرایت player رو بهش نسبت بدید.
حالا برید رویداد چپ بعد همون دوتا عمل رو باز میخوایم استفاده کنیم عمل سرعت حرکت معین بدید و چپ رو انتخاب کنید سرعتشو 4 بدید عمل تغییر شخصیت بدید اسپرایت left رو بهش نسبت بدید.
رویداد راست عمل حرکت معین بدید راست و انتخاب کنید و سرعتشو 4 بدید تایید بزنید عمل تغییر شخصیت بدید اسپرایت right رو بهش نسبت بدید.
رویداد بالا عمل حرکت معین بدید بالا رو انتخاب کنید و سرعتشو 4 بدید و عمل تغییر شخصیت بدید و اسپرایت up رو بهش نسبت بدید و رویداد پایین عمل حرکت معین بدید پایین رو انتخاب کنید و سرعتشو 4 بدید و عمل تغییر شخصیت بدید اسپرایت down رو بهش نسبت بدید.
خب این از کاراکتر بدون کد با استفاده از عمل ها ساختیمش.
میریم سراغ کاراکتر بعدی که میخوایم با کد بسازیمش :
اسکریپتی که ساختید رو باز کنید همون اسکریپت playercontroller رو بعد این کدارو بنویسید :
if (keyboard_check(vk_nokey)) {
این کد میگه که اگر (میاد کیبورد رو چک میکنه تا ببینه چه کلیدی فشرده شده (اینجا هم اون کلیدی که میخوایم رو میدیم بهش))
بعد Enter بزنید و کد زیر رو بنویسید :
motion_set(360,0);
این کد هم همون حرکت معینه ، میگه که اون آبجکتی که این کد بهش نسبت داده شده رو یجا نگه میداره نمیزاره حرکت کنه میخوایم وقتی هیچ کلیدی نزنیم این کد اجرا شه که تو کد اولی همینو گفتیم که بیاد چک کنه ببینه اگه هیچ کلیدیو نزدیم این کدایی که توش نوشتیم رو اجرا کنه.
sprite_index=player;
image_index=0;
image_speed=0.20;
این کد ها هم همون عمل تغییر شخصیت هستن که گفته شخصیت کاراکتر رو به اسپرایت player تغییر بده و خط دوم فریم عکسه و سومی هم سرعته.
حالا بقیه رو دیگه میدونید توضیح نمیخواد چون مثل همینن فقط مقدار ها و کلید ها و اسپرایت ها فرق میکنن.
if (keyboard_check(vk_up)) {
motion_set(90,4);
sprite_index=up;
image_index=0;
image_speed=0.20;
}
if (keyboard_check(vk_down)) {
motion_set(270,4);
sprite_index=down;
image_index=0;
image_speed=0.20;
}
if (keyboard_check(vk_right)) {
motion_set(0,4);
sprite_index=right;
image_index=0;
image_speed=0.20;
}
if (keyboard_check(vk_left)) {
motion_set(180,4);
sprite_index=left;
image_index=0;
image_speed=0.20;
}
حالا شاید بعضیاتون میخواین کپی کنین کد کامل رو هم میزارم برای کپی بعضی از دوستان :
//site : www.gamemaker8.blog.ir - www.hd-games.blog.ir
//telegram : @hdgames_company
//instagram : @hdgames_company
این کدای بالایی هیچکاری انجام نمیدن فقط برای تبلیغ نوشتم تو کد.
میتونید اینو کپی کنید و تو اسکریپت playercontroller پیست کنید :
if (keyboard_check(vk_nokey)) {
motion_set(360,0);
sprite_index=player;
image_index=0;
image_speed=0.20;
}
if (keyboard_check(vk_up)) {
motion_set(90,4);
sprite_index=up;
image_index=0;
image_speed=0.20;
}
if (keyboard_check(vk_down)) {
motion_set(270,4);
sprite_index=down;
image_index=0;
image_speed=0.20;
}
if (keyboard_check(vk_right)) {
motion_set(0,4);
sprite_index=right;
image_index=0;
image_speed=0.20;
}
if (keyboard_check(vk_left)) {
motion_set(180,4);
sprite_index=left;
image_index=0;
image_speed=0.20;
}
حالا بعد از کپی و پیست تیک گوشه ای رو بزنید ذخیره شه برید آبجکت پلیرمون که با استفاده از کد میخوایم حرکت کنه بعد رویداد Step یا در هر لحظه بدید بهش و عمل اجرای اسکریپت بدید و اسکریپتمون رو بهش نسبت بدید و تایید بزنید و در بیاید بیرون حالا هرکدوم از پلیر هارو که میخواید بزارید تو مرحله و بازی رو اجرا کنید.
اینم از سورس این پروژمون :
برای دانلود اسپرایت ها کلیک کنید.
امیدوارم ازین آموزش هم خوشتون اومده باشه تا آموزش بعدی خداحافظ.