شهروز مدیر انجمن
تاريخ عضويت: جمعه 16 مرداد 1383 تعداد ارسالها: 3279 محل سكونت: Germany
جمعه 7 مهر 1391 - 21:13 |
|
|
سلام.
این اولین آموزش برای انجین Quick2D هست.
در این آموزش می خواهیم یاد بگیرید که چطور یک کاراکتر با انیمیشن و حرکت داشته باشیم.
ابتدا آخرین نسخه انجین Quick2D را از اینجا دانلود کنید.
سپس فایل زیر را دانلود کنید و فولدر character در پوشه Sprites قرار بدید.
http://www.gamedev.net/index.php?app=core&module=attach§ion=attach&attach_id=11506
در پوشه اصلی انجین، یک فایل با نام 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 |
_________________
استدیوی نرم افزاری بلوبالک
www.Bluebulk.info |
|