سؤال

وأنا باستخدام C # WinForms عناصر لخلق باني مستوى لعبي XNA. لدي شبكة البلاط التي يمكنك طلاء مع أداة القلم الرصاص، كما هو الحال في MSPAINT. المشكلة هي أنه عندما تقوم بسحب الماوس سريع (العش) لرسم خط البلاط الحصول على تخطي.

ولقد حاولت استخدام نهج واحد رأيت على جوجل قائلا تفرخ موضوع للقيام بهذه اللوحة، ولكن ذلك لا يبدو للمساعدة.

وأي أفكار؟

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

المحلول

وOTTOMH، هل يمكن أن تتبع النقطة الأخيرة الفأر كان وفي معالج MouseMove الخاص بك يمكنك أن تفترض الحركة الخطية وتحديد كل البلاط بين النقطة الأخيرة والنقطة الحالية. تخميني هو أن كنت لا يحتمل أي وقت مضى للحصول على ما يكفي من أحداث MouseMove لاطلاق النار لمعالجة الحالة حيث يقوم المستخدم بتحريك الماوس له بسرعة كبيرة.

نصائح أخرى

ورائع! عملت تماما.

ولقد استخدمت خوارزمية خط DDA من هنا

http://www.cs.unc.edu/ ~ ماكميلان / comp136 / Lecture6 / Lines.html

ولرسم الخط.

والشكر !!

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