سؤال

هل يمكن لأي شخص أن يوجهني إلى مكتبة لفيزياء الألعاب ثنائية الأبعاد، وما إلى ذلك لبرمجة الجاذبية، وإجراءات القفز، وما إلى ذلك لمنصة ثنائية الأبعاد/لعبة التمرير الجانبي؟أو هل يمكنك اقتراح بعض الخوارزميات للتمرير الجانبي مثل ماريو وسونيك وما إلى ذلك؟

هل كانت مفيدة؟

المحلول

هذا يبدو وكأنه السنجاب قد تلبي احتياجاتك.

نصائح أخرى

أفضل رهان لك هو على الأرجح Box2D.إنه يقوم بفيزياء ثنائية الأبعاد، ولديه الكثير من الخيارات، ومن السهل جدًا دمجه في مشروع حالي.إنه يقوم بـ CCD بشكل افتراضي للأجسام الثابتة، ولكن يمكن تضمين أي جسم صلب بشكل انتقائي في حساب CCD.

إذا كان كل ما تحتاجه هو الجاذبية، فيمكنك برمجة ذلك بنفسك في 5 دقائق.تتسارع الأجسام المتساقطة سقوطًا حرًا بمعدل 9.8 مترًا في الثانية في الثانية، أي أن الجسم يتجه نحو الأسفل سرعة يزيد بمقدار 9.8 متر في الثانية من السقوط الحر.بالنسبة للعبة ما، ستحتاج إلى تقسيم 9.8 على معدل الإطارات لديك.للقفز، ما عليك سوى اختيار سرعة عمودية سلبية كبيرة، وتطبيق ذلك على الشخصية في اللحظة التي تقفز فيها، وتقليلها بمقدار زيادة الجاذبية لكل إطار.هذا هو كل ما تحتاجه حقًا لشيء مثل Mario، إلا إذا كنت تبحث عن خلفية ثلاثية الأبعاد لشريط التمرير الجانبي ثنائي الأبعاد.

إذا كنت تريد أن تصبح أكثر روعة، يمكنك محاولة أخذ قوة تأثير الجسم في الاعتبار، مما يجعل الأجسام المتساقطة تؤذي الأشخاص أو تشقق الرصيف أو شيء من هذا القبيل.لهذا، استخدم صيغة الطاقة الحركية:KE = 1/2 * M * V^2، حيث M هي الكتلة وV هي السرعة.

ما هي المنصة التي تبحث عنها؟ تعتمد المكتبة التي تستخدمها على هذا.

بالنسبة لإطار عمل XNA، يعد Farseer رائعًا جدًا.

للإجابة على الجزء الثاني من سؤالك، إذا كنت تريد التعرف على كيفية عمل منصة بسيطة ثنائية الأبعاد، فاطلع على دروس ل N.نعم، N هي لعبة تعتمد على الفلاش ولكن هذا لا يعني أنها لم يتم إنشاؤها مثل لعبة "حقيقية"، وبالتالي فإن البرامج التعليمية الخاصة باكتشاف التصادم (والاستجابة لها) قابلة للتطبيق إلى حد كبير.إنها قراءة مباشرة مع بعض العروض التوضيحية البديهية المضمنة في الصفحة لإظهار المفاهيم الهندسية.

يمكنك إلقاء نظرة على محرك Havok.أعتقد أنهم أطلقوا نسخة مجانية للاستخدام غير التجاري.هناك مجموعة قيود تسمح لك بتقييد الفيزياء في طائرتين، في حالتك، x وy.

تعتبر الفيزياء في معظم ألعاب المنصات ذات التمرير الجانبي ثنائية الأبعاد بسيطة للغاية بحيث يمكنك تنفيذها بسهولة بنفسك.ما نوع التأثيرات التي تبحث عنها؟

إذا كان لديك الوقت، فيمكنك استخدام PhysX ولكن من المحتمل أن يكون ذلك أمرًا مبالغًا فيه بالنسبة للثنائي الأبعاد.إلى جانب ذلك، إذا كنت تخطط لتشغيل لعبتك على جهاز كمبيوتر وتريد بعض الفيزياء الرائعة، فحاول البحث في Google عن "تكامل verlet"، أعلم أن هناك عددًا لا بأس به من تطبيقات verlet الموجودة (مناسبة للجسيمات والدمى ثنائية الأبعاد).

لقد استخدمت Box2D في المشاريع الشخصية.إنها واجهة برمجة تطبيقات للمحاكاة الفيزيائية ثنائية الأبعاد.ولكن قد يكون الأمر مبالغًا فيه إذا كان ما تريده هو واجهة برمجة تطبيقات للعبة/الرسومات.

لقد قام هذا الرجل بالكثير من العمل مع ألعاب Javascript:

http://blog.nihilogic.dk/

يمكنك القيام بالفيزياء ثنائية الأبعاد باستخدام opende أيضًا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top