كيف يمكنني إصلاح هذا الخطأ المحتمل مع مكون الزر في فلاش؟

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

سؤال

أحتاج إلى استخدام مكون الزر من لوحة مكونات واجهة المستخدم في IDE Flash ، مع تعيين خاصية Toggle إلى True.

إذا استخدمته مع البرنامج النصي الجدول الزمني ، فهو يعمل بشكل رائع.

إذا استخدمت داخل فئة (فئة مستند) ، يتم عكس الخاصية المحددة (أصبحت صحيحة عندما لا يتم تبديلها والعكس بالعكس).

أيضًا إذا قمت بتعيين Toggle على False في مفتش العقار ، ثم قم بتعيين Toggle to True في فئة المستندات ، فهو لا يزال يتتبع خطأ. إذا قمت بإبطال ، فأنا أقوم بتبديل الآثار الصحيحة ، لكن الخاصية المحددة تتتبع دائمًا خطأ.

رمز الجدول الزمني بسيط مثل هذا:

bold_b.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
    trace(event.currentTarget.selected);
}

فئة المستندات بسيطة أيضًا:

package
{
    import flash.display.MovieClip;
    import flash.events.MouseEvent;

    public class ButtonTester extends MovieClip
    {
        public function ButtonTester()
        {
            //in timeline works fine, in class it's the other way around
            bold_b.addEventListener(MouseEvent.CLICK, onClick);
            bold_b.toggle = true;
            bold_b.invalidate('toggle',true);
            bold_b.drawNow();
            stage.invalidate();
            trace('bold_b.toggle: ' + bold_b.toggle);
            function onClick(event:MouseEvent):void {
                trace(event.currentTarget.selected);
            }
        }

    }
}

حاليا أنا أستخدم Flash CS3. لقد تم تثبيت Flash Player 10. لا أعرف إصدار "بناء المكونات" ، لكن تم كتابته في عام 2007 تحت فلاش لاعب 9.0.28.0

هل يعلم أحد كيف يدور حول هذه ؟

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

المحلول

وماذا عن هذا؟

import fl.controls.Button;

var myButton:Button = new Button();
myButton.toggle = true;    
myButton.selected = true;
myButton.label = "selected:" + myButton.selected;
myButton.width = 120;
myButton.move(10, 10);
myButton.addEventListener(Event.CHANGE, changeHandler);
addChild(myButton);

function changeHandler(event:Event):void {
    var myBtn:Button = event.currentTarget as Button;
    myBtn.label = "selected:" + myBtn.selected;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top