المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [درس] أفضل طريقة لعمل إطلاق رصاصة سريعة جداً بالجيم ميكر



سامي.خ
24-08-2010, 11:50 PM
السلام عليكم

طبعاً من زمان ما عاد أعطيتكم درس للجيم ميكر، وبمناسبة تقاعدي وتفرغي لزوجتي وبناتي XD
قررت أني اعطيكم آخر درس قبل رحيلي، عسى أن نتقابل بالجنة بإذن الله

لو نبغى نسوي محرك بلاتفورم، وفيه شخصية تطلق النار، طبعاً ممكن نسويها بالطريقة التقليدية، لكن بتكون الطلقة بطيئة
*أنظر للملف المرفق الأول*
لو خلينا سرعة الطلقة سريعة جداً، خمسين مثلاً، راح تصير مشكلة، هي انه احتمال كبير الطلقة تعدي الهدف وما تصيبه، وهنا المشكلة.
http://www.montada.com/attachment.php?attachmentid=329822http://www.montada.com/attachment.php?attachmentid=329822
لذالك جبت لكم الحل المثالي والمستخدم بكل الألعاب، وهو حل برمجي.
بنستخدم دائرة for ، من خلالها نخلي الطلقة تمشي بلمح البصر وبنفس الوقت ما تفوت اي بكسل قدامها إلا وتصيبه بدون ما تعدي اي هدف.
حطيت الكود هذا في الحدث حق اطلاق النار:

for (s=16;s<=500;s+=1){
if !position_empty(x+s*image_xscale,y){ //if there is something in the position
instance_create(x+s*image_xscale,y,obj_shoot)// put a shoot in the position
break //end the script to not put another shoots
}
}وصار زي الحلاوة. =)
طب وش طبيعة عمل الكود هذا؟
هذا يبدأ العد من واحد إلى 500 وهذا هو الحد المدى الأقصى للإطلاق، وممكن تطولونه أو تقصرونه حسب رغبتكم، ويبدأ يحسب من بعد أوبجكت اللاعب بكسل بكسل إلى ان يصل إلى أوبجكت أمامه او انه يصل للمدى الأقصى ، إذا وصل لأوبجكت معين، يضع الرصاصة هناك مباشرة، كأنها وصلت للهدف علطول، كل هذا في Sync وحدة فقط.

جربوه واعطوني رأيكم.

أتمنى انكم استفدكم