الشبكة العربية لمطوري الألعاب

خبير  أحمد عزالدين مشاركة 1

السلام عليكم
انا احمد عزالدين من مصر
اقوم حاليا بمحاولة برمجة لعبة دبابات صغيرة 3D

ولكن هناك بعض المشاكل التي واجهتني:
لقد قمت بعمل Mesh class وذلك لتمثل كائن الدبابة
ووضعت some vectors that describe the position and direction of the Tank
المشكلة هي كيف اقوم بتحريك الدبابة طبعا عن طريق متجة موضعها ولكن اريد تحريكها
بحيث تتحرك في اتجاه المتجة الذي يمثل الـ Direction الخاص بها.

كذلك كيف سأقوم بمحاكاة عمل اطلاق النار في اتجاه معين من الدبابة
هل استخدم Particle System ( ممكن التوضيح).

لقد قمت بعمل ساحة المعركة علي هيئة مصفوفة من الخلايا التي كل عنصر فيها عبارة عن Tank or Stone or Border or Hawk حيث ان ساحة المعركة لها حدود لا يمكن تجاوزها وكذلك هناك صقر ينبغي حمايته.
المشكلة في اتباع الطريقة السابقة هل اقوم بعمل quad using vertex buffer لكل خلية داخل المصفوفة؟ علما بأن حجم المصفوفة 12X14

والسلام عليكم

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري

خبير  أحمد عبد الغني مشاركة 2

يختلف الموضوع على حسب درجة الحرية المتاحة لحركة الدبابة. في الحالة العامة ممكن أخذ الاتجاه الحالي للدبابة وإضافته على الموقع الحالي لها بعد ضربه بالمسافة المطلوب قطعها. لكنك شرحت أن العالم لديك مبني من خلايا.. في مثل هذه الحال ان كانت الحركة محصورة ضمن الخلايا فيمكنك تحديد اتجاهات مسبقة... مثلاً يمين يسار فوق تحت. ممكن أيضاً ان تتيح حركة زاوية يمين-فوق يمين-تحت يسار-فوق يسار تحت.
في هذه الحالة الكود يكون بسيط جدا. إذا كان اتجاه الحركة المطلوب يمين، فأضف 1 على موقع الدبابة x إن كان يسار فاطرح واحد. إن كانت الحركة لفوق فأضف واحد على موقع الدبابة y وهكذا..

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم