|
|
|||||
Отследить свое событие в классе
Почитал про события здесь и у Мука, но не пойму как его привинтить.
Есть класс menuBar, в нем шейп растягивается и сужается по таймеру.. Вот создам я событие от Event, создам диспетчер.. Как использовать его в классе menuBar, ну то есть как определить, что шейп закончил менять размер? |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Запустить событие и запустить его прослушку. Например, наследники InteractiveObject по клику пускают событие MouseEvent.CLICK.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
FriOne, в вашем случае наверное так:
PS. писал на коленях, могут быть неточности
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Цитата:
Наверно я разобрался счас буду тестить, но на всякий случай: import flash.events.Event; public class resize extends Event{ public static const COMPLETE:String = "complete"; public function resize(type:String) { super(type); } } import com.API.resize; import flash.events.EventDispatcher; public class resizeDispetcher extends EventDispatcher { public function resizeDispetcher () { } public function itDone():Void { dispatchEvent(new resize(resize.COMPLETE)); } } мне просто следует прописать строчку resizeDispetcher.itDone()? P.S. то есть я навешаю событие так menuBar.addEventListener(resize.COMPLETE, func) Последний раз редактировалось FriOne; 20.10.2010 в 22:45. |
|
|||||
пакеты есть) а таймер..
Использую его вместо ENTER_FRAME для изменения размеров шейпа Мне не понятно как же сделать, чтобы можно было добавить слушателя к menuBar, который оповещал о том, что шейп закончил меняться.. Иначе говоря у меня будет два(три) объекта с элементами меню, вначале тот объект, который отображается уменьшает альфу, затем меняется размер шейпа, а потом пувеличивается альфа другого объекта.. Последний раз редактировалось FriOne; 20.10.2010 в 23:04. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Совсем незачем создавать событие, которое расширяет Event. Используйте нативные )
Класс, который расширяется: Класс который содержит ссылку на расширяющийся класс: Если я правильно понял - то по обработчику TIMER у экземпляра класса Timer происходит расширение. В целом - да. Если хочется абстракции, то можно по TimerEvent.COMPLETE вызывать обработчик dispatchEvent, тем самым передав в dispatchEvent аргумент - экземпляр TimerEvent. А наверху уже слушать соответственно это событие:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Наверное нужно дать небольшие комментарии относительно кода:
youMovieClip - это наверное даже можно опустить, если ваш пункт меню будет содержать анимацию и соответствовать классу, наследуемому от MovieClip addFrameScript - команда добавляет код в мувиклип, при этом 1й атрибут - куда, а 2й - что, т.е. функция обработчик. dispatchEvent - вы генерируете событие, при чем атрибутом будет само событие. В остальном сначала почитайте документацию, попробуйте, а потом спрашивайте. ЗЫ. и таймер и ENTER_FRAME - абсолютно разные вещи. Upd. опять не успел
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
to TanaTix:
Цитата:
По поводу остального, я понял, что делает код, просто не понял зачем.. но все равно спасибо, что ответили, лучше понял некоторые весчи to PsychoTiger: Похоже первое как раз то, чего я хотел добиться, спасибо) Хотя наверно все равно я лоханулся, завершение таймера мне пойдет тоже поди.. Последний раз редактировалось FriOne; 20.10.2010 в 23:36. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Кстати, если предпологается плавная анимация - то её нужно обновлять каждый кадр. Это распространённая ошибка - увидели где то что "ЕНТЕР_ФРЕЙМ" грузит процессор - так всё. Делаем анимацию рывками и по таймеру )
__________________
Тут мужик танцует и поёт про флэш |
Часовой пояс GMT +4, время: 12:50. |
|
« Предыдущая тема | Следующая тема » |
Теги |
событие |
|
|