آموزش ساخت Character Animation با Quick2D
سلام.
این اولین آموزش برای انجین Quick2D هست.
در این آموزش می خواهیم یاد بگیرید که چطور یک کاراکتر با انیمیشن و حرکت داشته باشیم.
ابتدا آخرین نسخه انجین Quick2D را از
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دانلود کنید.
سپس فایل زیر را دانلود کنید و فولدر character در پوشه Sprites قرار بدید.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(چقدر بده که من نمیتونم فایل پیوست کنم !)
در پوشه اصلی انجین، یک فایل با نام character_animation.js ایجاد کنید و قالب اصلی زیر را در آن قرار دهید :
کد:
function Project_Settings(id)
{
}
function Start(id)
{
}
function Main(id)
{
}
متغیر های زیر را تعریف کنید:
کد:
var speed, is_down, f, x, y, timer;
var frames=new Array();
در رویداد Project_Settings تنظیمات زیر را وارد کنید:
کد:
function Project_Settings(id)
{
set_title("Character Animation");
window_mode(0);
set_screen(800,600);
}
در خط اول، تیتر پنجره، در خط دوم حالت پنجره معمولی و در خط سوم رزولوشن صفحه را مشخص کرده ایم.
در رویداد Start متغیر ها را مقدار دهی اولیه می کنیم:
کد:
speed=0;
f=0;
timer=0;
x=100;
y=250;
is_down=false;
حالا نوبت به آماده سازی آرایه فریم ها می رسد.
کد:
for (var i=0;i<8;i+=1)
{
frames[i]=load_texture("character\\"+(i+1)+".png");
}
در رویداد Main کاراکتر را رسم می کنیم:
کد:
draw_sprite(frames[f],x,y);
برای انیمیشن، به یک تایمر نیاز داریم :
کد:
if (is_down)
{
x+=2;
if (timer<4)
{
timer+=1;
}else{
timer=0;
f+=1;
if (f>7)
{
f=0;
}
}
}
برای تغییر سرعت انیمیشن می توانید مقادیر timer را تغییر دهید.
حالا نوبت به استفاده از کیبورد رسیده. من این کار را برای یک جهت انجام میدهم. شما باقی جهات را تکمیل کنید.
رویداد فشردن کیبورد را بنویسید:
کد:
function onKeyPressed(e)
}
و کد زیر را در آن اضافه کنید:
کد:
if (e=="Right")
{
is_down=true;
}
با این کد، ما شروع حرکت را اعلام می کنیم.
حالا باید به آن خاتمه دهیم.
کد:
function onKeyReleased(e)
{
if (e=="Right")
{
is_down=false;
f=0;
}
}
در انتها، به تابع Main و بعد از خط if (is_down){ رفته و کد زیر را اضافه کنید:
مشکلات خود را در همین تاپیک اعلام کنید.
منبع :
http://www.gamedev.net/topic/631965-quick2d-free-game-enginee/page__view__findpost__p__4984736