Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Изменение состояния SimpleButton программно? (http://www.flasher.ru/forum/showthread.php?t=174606)

Fintch 29.01.2012 11:53

Изменение состояния SimpleButton программно?
 
Всем доброе утро, недавно писал небольшой класс для составной кнопки и попал в одну неприятную ситуацию..

Есть кнопка стандартного класса SimpleButton. В ней настроенны 2 слоя - Up, Over. Для простоты, слой up - обычный вид кнопки, а слой over - кнопка + подсветка.

При нажатии на кнопку я удаляю её со сцены и заменяю экземпляром унаследованным от Sprite. Затем при обработке другого события я возвращаю эту кнопку на сцену и о чудо! Кнопка все еще в состоянии Over, т.е. с подсветкой.

Мне конечно нужно обычное состояние - Up.

Как можно перевести кнопку в состояние Up программно? Я пробовал примерно так:
Код AS3:

myButton.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP));

Ничего не вышло.

Подскажите кто знает..

silin 29.01.2012 12:51

вот такой выверт с 'передергиванием' фокуса может помочь
Код AS3:

var currFocus:InteractiveObject = stage.focus;
stage.focus = but;//but - кнопка, которую надо вернуть в upState
stage.focus = currFocus;


Fintch 29.01.2012 13:11

Интересно. У меня мало опыта, и может я чего-то не знаю..

Но, как грамотно использовать stage в классе кнопки? У меня есть доступ к stage только из Main, а дальше я его не передаю.. Экземпляр кнопки далеко не в Main.

silin 29.01.2012 13:25

stage есть у всех дисплейОбжектов, если они 'добавлены на сцену'
когда кнопка возвращается на сцену (а трабл надо понимать именно в этой ситуации проявляется) у нее будет stage, т.е. все это можно на Event.ADDED_TO_STAGE и повесить

Добавлено через 1 минуту
вот нашел, аналогичная тема http://flasher.ru/forum/showthread.p...EE%EA%F3%F1%E0
там примерчик есть

Fintch 29.01.2012 13:36

Спасибо большое за помощь @silin!


Часовой пояс GMT +4, время: 02:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.