Как я могу исправить эту потенциальную ошибку с помощью кнопки компонента во Flash?

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

Вопрос

Мне нужно использовать компонент кнопки с панели компонентов пользовательских интерфейсов в IDE IDE, с набором ложки Truggle, установленного в True.

Если я использую его с помощью сценариев временной шкалы, он отлично работает.

Если я использую в классе (класс документа), выбранное свойство обращено (я истину, когда он не переключен и наоборот).

Кроме того, если я устанавливаю ложь ложь в инспекторе свойств, затем установите переключатель в True в классе документа, он все еще прослеживается как false. Если я невернирую, я истину переключаюсь, но выбранная собственность всегда следы ложных.

Код временной шкалы так же просто, как это:

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 году под Flash Player 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