سؤال

وأنا باستخدام Box2D (في AS3 / فلاش الإصدار، وإذا كان يهم) وأنا أحاول لحساب مقدار الوزن لكل هيئة يحمل.

وأنا أعرف كيفية تكرار خلال كافة الهيئات، وأنا أعرف كيف لاستطلاع إجراءات الكشف Collion، ولكن يبدو أن القوات تصادم تموت من الصفر مرة واحدة يتم تطبيقها الوزن. هناك نوع من "مجموع قوة ثابتة" الملكية أنا تطل؟

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

المحلول

وعن طريق نوع contactResult في كائن contactListener اختياري، يمكنك الاستقصاء normalForce كل بند من بنود لمعرفة ما هي القوى (التي تضم في جوهرها الوزن) يتم تطبيقها على الكائنات.

لاحظ أن الهيئات النوم (كومة يستريح على سبيل المثال) لن يؤدي contactResults، ولكن يجب أن تعمل بشكل جيد إذا قمت بإيقاف النوم أو إذا كنت ترغب في قياس القوى فقط، بينما الحركة يحدث.

لمزيد من المعلومات حول كيفية تنفيذ الاختيار الطبقة contactListener حتى على الوثائق.

نصائح أخرى

لقد كانت لحظة منذ أن لعبت مع Box2D ولكن هل حاولت الاقتراع <لأ href = "http://www.kyucon.com/doc/box2d/Box2D/Dynamics/Joints/b2Joint.html#GetReactionTorque () "يختلط =" نوفولو noreferrer "> GetReactionForce () على الأمور ذات الاهتمام؟

وأنا أعلم أنه عندما قدم لي محاكاة الجسر، وكنت أرغب الجسر لكسر القائم قبالة الوزن على ذلك، وأنا شملهم الاستطلاع <لأ href = "http://www.kyucon.com/doc/box2d/Box2D/Dynamics /Joints/b2Joint.html#GetReactionTorque () "يختلط =" نوفولو noreferrer "> GetReactionForce () وإذا كان فوق عتبة معينة ثم أنا حذفت المفصل الذي يربط بين الهيئتين.

وأعتقد أن كل ما عليك القيام به هو حلقة من خلال الحالات b2Body واستخدام في GetMass () طريقة.

ولست متأكدا ما تعنيه ب "مجموع قوة ثابتة".

وأما بالنسبة للوزن / كتلة أعتقد أنك تطبيقه قبل أي اصطدام، عند إنشاء الهيئة، إما تعيين ذلك بنفسك باستخدام setMass ()؛ أو لديك box2d تقدير كتلة على أساس الشكل، وذلك باستخدام في SetMassFromShapes () طريقة.

وهته

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