تنبيه

الدروس المتواجدة بالموقع ليست لصناعة لعبة كاملة بكل مراحلها..هذه مجرد دروس لتعليم الجيم ميكر..ولن نصنع لعبة كاملة للناس. وشكرا
أحمد إبراهيم

8.7.15

سلسلة دروس صناعة لعبة بلاتفورم بالجيم ميكر 8 - الدرس الاول..الجاذبية والحركة الخاصة باللاعب

أهلا بكم في أول سلسلة دروس من دروسي للجيم ميكر 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
وبعدها نعمل step event
ونكتب..
if place_free(x,y+1)
{
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;
can_jump = true;
ده كود للتأكيد ان ده حجر او ارض وكمان القدرة على القفز..
وكدة يبقي فاضل حاجة واحدة بس..القفز..
نعمل press up key event
ونكتب
if can_jump=true {
can_jump=false vspeed=-9)
}
ده بتاع القفز..وطبعا بيمنع القفز إلى ان الشخصية تلمس الحجر..

ودي نهاية الدرس اليوم :)

No comments:

Post a Comment