أهلا بكم في أول سلسلة دروس من دروسي للجيم ميكر 8..
هنبدأ بالبلاتفورم..
تذكير..الدرس مش عن كل حاجة..بس الاساس بتاع اللعبة.
في السلسلة دي هنتعلم نعمل :
- الجاذبية والحركة الخاصة باللاعب.
- إطلاق طلقات قابلة للتجميع والتجميعات.
- صناعة واجهة تظهر الطلقات والحياة.
- صناعة عدو طائر وواحد يمشي.
- بدايات في البرمجة.
أولا..هنبدأ بالنقطة الأولى..
الجاذبية والحركة الخاصة باللاعب.
هنعمل 2 سبرايت..
اول واحد اسمه: spr_player
وده بتاع اللاعب.
والثاني اسمه: spr_block
وده بتاع الحجر ال هيمشي عليه اللاعب.
ودلوقتي هنبدأ في البرمجة والأوبجيكتات..
هنعمل 2 اوبجيكت..
اول واحد اسمه: obj_block
والسبرايت بتاعه هو الحجر..وهنعلم على خاصية Solid
ونقفل الحجر..
بعدها ندخل على الثاني واسمه: obj_player
وهنعمل create event ونكتب فيها:
hp = 100; //health variable
bullet = 0; //bullet variable
can_jump = true; //jumping variable
can_shoot = true; //shooting variable
دلوقتي..هنشرح كل حاجة من المتغيرات دي..
hp هو الحياة..100 نقطة حياة.
bullet هو الطلقات..0 طلقة..مفيش حاجة اتجمعت.
can_jump هو متغير القفز..ف ميقدرش ينط اكثر من مرة ورا بعض.
can_shoot هو متغير الطلق..ف ميقدرش يطلق اكثر من مرة ورا بعض.
وبعدها نعمل press left key event
ونكتب التالي..
hspeed = -5; //walking to left
image_xscale = -1; //looking at left
دلوقتي..ممكن تقول ايه معني ده..هنشرح كل حاجة دلوقتي..
hspeed ده متغير متعلق بالحركة بشكل أفقي..
image_xscale ده متغير متعلق بالسبرايت من ناحية النظر..
بعدها نعمل press right key event
ونكتب..
hspeed = 5; //walking to right
image_xscale = 1; //looking at right
image_xscale = 1; //looking at right
وبعدها نعمل step event
ونكتب..
if place_free(x,y+1)
{
gravity = 0.7;
gravity_direction = 270;
}
else
{
gravity = 0;
gravity_direction = 270;
}
{
gravity = 0.7;
gravity_direction = 270;
}
else
{
gravity = 0;
gravity_direction = 270;
}
ده الكود بتاع الجاذبية
وبعدها نعمل collision with obj_block event
ونكتب..
move_contact_solid(direction,12);
vspeed = 0;
hspeed = 0;
vspeed = 0;
hspeed = 0;
can_jump = true;
ده كود للتأكيد ان ده حجر او ارض وكمان القدرة على القفز..
وكدة يبقي فاضل حاجة واحدة بس..القفز..
نعمل press up key event
ونكتب
if can_jump=true {
can_jump=false vspeed=-9)
}
can_jump=false vspeed=-9)
}
ده بتاع القفز..وطبعا بيمنع القفز إلى ان الشخصية تلمس الحجر..
ودي نهاية الدرس اليوم :)
No comments:
Post a Comment