Как я могу исправить эту потенциальную ошибку с помощью кнопки компонента во Flash?
-
26-09-2019 - |
Вопрос
Мне нужно использовать компонент кнопки с панели компонентов пользовательских интерфейсов в 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;
}