كيفية تعطيل وإعادة تمكين MouseEvents. buttonMode، mouseChildren وتمكين لا تعمل

StackOverflow https://stackoverflow.com/questions/1431647

سؤال

وأساسا مسألة يمكن ربما أكثر أن يطلب أكثر دقة، كيف يمكنني ببساطة تعطيل زر ومن ثم إعادة تمكين ذلك؟ لقد حاولت وضع buttonMode إلى false، mouseChildren إلى false وسكريبت لكاذبة. لا شيء يعمل. أنا أدرك أنني <م> قد فقط إزالة المستمعين الحدث، ولكن بالتأكيد هناك طريقة أكثر أناقة وكفاءة. كما إزالة المستمعين الحدث أن تجبرني على تتبع ما تتعلق ظائف لبعض الدول زر ولديك لإضافة وإزالة لهم مرارا وتكرارا، والذي يبدو عالي الكعب.

هل هناك طريقة لوضع العلم الذي يجعل تعطيل مؤقتا أي eventListeners قد يكون كائن، ثم ببساطة تشغيلها مرة أخرى؟ كنت تحت الاعتقاد الخاطئ بأن إضافة أحداث الانقلاب وما إلى ذلك .. إلى مقطع فيلم تحولها من الناحية النظرية إلى زر، والتي يمكن أن تتحول بسهولة قبالة مع الخاصية تمكين. أيضا، لا يمكنني استخدام SimpleButton، وأنا بحاجة إلى المزيد من المرونة من يقدمها.

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

وفيما يلي مثال معزولة، يستخدم في مقطع فيلم على المسرح مع اسم مثيل iPoo، فيها احداث اطلاق النار دائما بغض النظر عما يحصل تعيين عند النقر فوق الزر:

وiPoo.addEventListener (MouseEvent.ROLL_OVER، pooRollOver)؛
iPoo.addEventListener (MouseEvent.ROLL_OUT، pooRollOut)؛
iPoo.addEventListener (MouseEvent.CLICK، pooClick)؛

وظيفة pooRollOver (_event: MouseEvent): باطل
{

iPoo.alpha = 0.5;  

و}

وظيفة pooRollOut (_event: MouseEvent): باطل
{

iPoo.alpha = 1;  

و}

وظيفة pooClick (_event: MouseEvent): باطل
{

trace("Poo");  

iPoo.enabled = false;  
iPoo.buttonMode = false;  
iPoo.mouseChildren = false;  

و}

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

المحلول

واستخدم mouseEnabled الممتلكات.

mc.mouseEnabled = false;

ومن livedocs:

<اقتباس فقرة>   

إذا تمكين في حالة التمكين هو إلى false، يتم تعطيل إطارات أكثر، أسفل، وحتى مقطع الفيلم. استمر مقطع الفيلم لتلقي أحداث (على سبيل المثال، mouseDown، mouseUp، KeyDown و وkeyUp).

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