كيف يمكنني إصلاح هذا الخطأ المحتمل مع مكون الزر في فلاش؟
-
26-09-2019 - |
سؤال
أحتاج إلى استخدام مكون الزر من لوحة مكونات واجهة المستخدم في 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;
}