سؤال

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

وفق المستندات, ، لا يمكن أن يكون لكائن العرض الذي لا يوجد لديه عرضه أو مجموعة الارتفاع. هذا هو ، سيكون دائما صفر.

هل هناك أي طريقة للتغلب على هذه؟ ما هو أفضل الممارسات؟

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

المحلول

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

لكن

ربما يكون الحل الأفضل هو تسجيل مستمعي الماوس الخاص بك على المسرح من داخل Sprite سطح الرسم ، وجعله يتعامل مع أحداث الماوس من تلقاء نفسها. لا أعرف ما يكفي عما تحاول القيام به ، ولكن إذا كان ذلك ممكنًا ، فسيكون حل أنظف / أبسط.

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

نصائح أخرى

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

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