سؤال

أنا استخدم löve2d لكتابة لعبة صغيرة. Löve2d هو محرك لعبة مفتوحة المصدر ل LUA. المشكلة التي صادفها هي أن بعض مرشح انتياس يتم تطبيقه تلقائيا على العفاريت عند رسمه في مواقع غير عدد صحيح.

love.graphics.draw( sprite, x, y )

لذلك عندما تكون x أو y جولة (على سبيل المثال، x = 100.24)، يظهر Sprite غير واضح. يحدث الشيء نفسه عندما لا يكون حجم العفريت حتى، لأن (X، Y) يشير إلى مركز العفريت. على سبيل المثال.

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

هل هناك بعض الأمر لإلغاء تنشيط الحفاز يمكنني الاتصال ببرنامج بدء التشغيل؟

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

المحلول 3

في حالة مهتم أي شخص، كنت أسأل في أماكن أخرى ووجدت أن ما سأطلبه بالفعل كميزة: http://love2d.org/forum/tracker.php؟p=2&t=7.

لذلك، لا تزال الإصدار الحالي من Löve الذي أستخدمه (0.5.0) لا يسمح بتعطيل مرشح انتياس، لكن الميزة موجودة بالفعل في إصدار SVN للمحرك.

نصائح أخرى

إذا قمت بإيقاف تشغيل مستعار، فستحصل على التعرجات، وبالتالي الاسم! لماذا تستريح في المواقف غير المتكاملة، وما الذي تريد القيام به حيال تلك الأجزاء الكسرية؟ (تقريبها إلى أقرب قيمة؟ اقتطاع لهم؟ ماذا عن إذا كانت سلبية؟)

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

قد يكون هناك عمل آخر محتمل حوله استخدام Math.floor () لتقريب الأعداد الصحيحة كحل رخيص.

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