![]() |
|
||||||||||
|
|||||
|
Хочу остановить и убрать видимость.
Такой вариант не нравится. Ещё есть что?
__________________
Тут мужик танцует и поёт про флэш Последний раз редактировалось Psycho Tiger; 13.11.2009 в 20:26. |
|
|||||
|
__________________
я могу стать всем, если только захочу |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Мне думается, что лучше всё-же второй вариант. Привычнее как-то)
Единственно что, условие (mc.currentFrame == 0) нужно заменить на (mc.currentFrame == 1), т.к. отсчёт кадров начинается с 1, а не с 0. И ещё в конце обработчика можно написать mc.removeEventListener(Event.ENTER_FRAME, enterFrameListener), чтобы он зря не отрабатывал каждый кадр. При условии, конечно, что скрыть нужно единожды. |
|
|||||
|
первый тоже имеет право на жизнь, но я бы вынес функцию отдельно.
Цитата:
__________________
я могу стать всем, если только захочу |
|
|||||
|
Вы издиваетесь?)
Я же имею ввиду не вообще "как это можно сделать", а вменяемые варианты ![]() TanaTiX - мой вариант лучше, быстрее и правильнее. Когда нужно нажать на какую нибудь кнопку мышкой (у которого mouseEnabled=true) - мы ведь подписываем объект на MouseEvent.CLICK, а не stage, где в последствии через getObjectsUnderPoint определяем список того, что под нами и циклом сравниваем элемент с собой? SamFR, привычно то привычно, но ведь мы наследуемся от шейпа, от спрайта, от эвент диспатчера наконец. Можно ведь сразу от мувиклипа, тоже привычней) Felicast, за помощь спасибо, но я бы сказал, твой вариант права на жизнь не имеет)
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Ну не знаю, не знаю... Во-первых, от MovieClip-а я наследовать никого не призываю
А насчёт правильнее... не уверен. Просто, наверное, не очень доверяю недокументированным возможностям, и использую их только при крайней необходимости. Мало ли, что адобовцы к следующей версии плеера придумают ![]() Насчёт скорости – да, наверное, addFrameScript() побыстрее будет, но так ли уж в данном случае важна разница в пару миллисекунд? Добавлено через 5 минут Кстати, больше вариантов, как вменяемых, так и невменяемых, в голову что-то не приходит... |
|
|||||
|
Цитата:
Цитата:
Цитата:
__________________
я могу стать всем, если только захочу |
|
|||||
|
Зачем вешать обработчик, который будет вызываться каждый кадр, который возможно будет вызывать неудобства (добавить/удалить листенер при уничтожении объекта), если можно добавить код к кадру?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Ну не обязательно он должен отрабатывать каждый кадр. Если больше не планируется возвращение к первому кадру, либо больше не нужно в этом кадре мувик скрывать, то в теле обработчика можно сразу же отписаться от энтерфрейма. Тогда он сработает только один раз.
Я не говорю, что навешивание обработчика – самый красивый и правильный метод, просто больше документированных возможностей отловить наступление кадра я не знаю. А к недокументированным своё отношение я уже высказал выше. P.S. Кстати, мы ведь не знаем, как работает addFrameScript()... Вполне может оказаться так, что он делает то же самое Ведь MovieClip, всё-таки, является наследником спрайта, и было бы логичным реализовать мувиклиповские методы, основываясь на базовой функциональности.Последний раз редактировалось SamFR; 15.11.2009 в 01:27. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|