Кнопка переключения вспышки
-
05-09-2019 - |
Вопрос
Мне нужна кнопка во Flash/AS3, которая включает и выключает.Поэтому я был рад видеть, что Button
класс имеет toggle
свойство, которое позволяет мне вести себя так.Я был менее рад видеть, что то, что я получаю, когда делаю что-то «кнопкой» во Flash-файле, является экземпляром SimpleButton
класс, у которого нет такой возможности.
Есть ли способ получить экземпляр Button из .fla или заставить SimpleButton вести себя как переключатель?
Решение
Вот как я это обошёл:
private buttonState:Boolean;
private function buttonToggle(button:SimpleButton){
var currDown:DisplayObject = button.downState;
button.downState = button.upState;
button.upState = currDown;
buttonState = !buttonState;
}
private function clickEvent(e:MouseEvent){
buttonToggle(e.target);
}
Я не помещал код в clickEvent
функция, потому что это позволяет мне переключать кнопку из любого места кода.
Другие советы
Вы можете перетащить кнопку из окна «Компоненты».Это то, что вы ищете?
Я думаю, это может вам очень помочь: http://actionscriptexamples.com/2008/11/26/creating-toggle-buttons-in-flash-with-actionscript-30/
Это только ActionScript.Но то же самое произойдет, если вы перетащите компонент «Кнопка» на сцену и присвоите ему имя экземпляра.Таким образом, вы сможете получить к нему доступ из сценария as.