|
|
|||||
Регистрация: Feb 2013
Адрес: Не от мира сего.
Сообщений: 5
|
Как отписаться от события в AS2
У меня есть ролик с меню на флэше, находящемся на главном таймлайне, определённые кадры отображают различные меню, в которых мне нужно по нажатию (одной и той же) кнопки на клавиатуре совершать различные события, и отсылать команды уже во внешний источник. Проблема такая:
- я использую вот этот код для захвата нажатия клавиши и отправки команды вовне: пробую использовать его по проверке "if (_root._currentframe == номеркадра){}" - но после перехода в другой кадр функция при нажатии кнопки на клавиатуре всё равно исполняется, тогда добавляю "removeEventListener(KeyboardInput1);" чтобы заглушить проверку - всё равно ничего не получается, в теории я понимаю что это всё нужно засунуть под addEventListener со скорее всего условием на нажатие клавиши, а потом его заглушить с помощью "removeEventListener(...);" в следующем кадре? но тогда на что вязать этот Listener, на _root? как вообще по-человечески сделать чтобы нужные мне кнопки считывались и совершали действия только в определённом кадре, а в остальных кадрах я мог привязать на них другие действия? |
|
|||||
Осн временная диаграмма:
var FLAG В кадрах пишете FLAG = 1 FLAG = 2 и т.д. При нажатии кливиши проверяете состояние флага... if (KeyPressed1 == 13) { if ( FLAG == 1 ) То делаем то-то if ( FLAG == 2 ) Иное действие //и так далее } Ну и приментиельно к коду в кадрах - это вообще все крайне плохо работать будет. |
|
|||||
Регистрация: Feb 2013
Адрес: Не от мира сего.
Сообщений: 5
|
Ухх.. Спасибо! мне нравится! да и код оптимально оптимизирован получается. Спасибо большое!
Только всё же, для общего развития, подскажите, как правильно заглушить ИвентЛистенер подобный при случае с проверкой клавиш, чтоб в памяти не болтался? |
|
|||||
Регистрация: Feb 2013
Адрес: Не от мира сего.
Сообщений: 5
|
Благодарю! по ошибке использовал "removeEventListener(KeyboardInput1);"
|
|
|||||
Регистрация: Feb 2013
Адрес: Не от мира сего.
Сообщений: 5
|
Гуглил, "яндексил", скачал и прочёл раздел в книге по удалению операторов из памяти, но как раз там и нашел "removeEventListener()", который в данном случае был не тем что нужно, а в вопросах когда нужно решить проблему, и скорее разобраться что не работает, немаловажна помощь именно опытного человека, так что, в конце концов для чего нужны форумы, именно для передачи опыта, знаний, информации, и помощи когда она требуется.
=) |
|
|||||
Модрон-ветеринар
|
Цитата:
Key.removeListener method
__________________
Идите первым! |
Часовой пояс GMT +4, время: 10:48. |
|
« Предыдущая тема | Следующая тема » |
|
|