![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 87
|
такая тема. Нужно чтоб свойство прозрачность (alpha) менялось от max к min. изменение должно происходить, когда зажата ЛКМ мыши. Не по клику.
bt_Alpha.addEventListener(MouseEvent.MOUSE_DOWN, fl_MouseClickHandler_14); function fl_MouseClickHandler_14(event:MouseEvent):void // прослушка кнопки мыши { if ((a > 360)&&(a < 380)&&(b > 310)&&(b < 330)) // ограничение рабочей обл. { d.alpha += 0.1; if (bt_Alpha.y == 341) { bt_Alpha.y -= 2; } } if ((a > 360)&&(a < 380)&&(b > 350)&&(b < 370)) // ограничение рабочей обл. { d.alpha -= 0.1; if (bt_Alpha.y == 341) { bt_Alpha.y += 2; } } } bt_Alpha.addEventListener(MouseEvent.MOUSE_DOWN, fl_MouseClickHandler_14); function fl_MouseClickHandler_14(event:MouseEvent):void // прослушка кнопки мыши { if ((a > 360)&&(a < 380)&&(b > 310)&&(b < 330)) // ограничение рабочей обл. { addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor); function fl_CustomMouseCursor(event:Event) // прослушка входа в кадр { d.alpha += 0.1; } if (bt_Alpha.y == 341) { bt_Alpha.y -= 2; } } if ((a > 360)&&(a < 380)&&(b > 350)&&(b < 370)) // ограничение рабочей обл. { addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor); function fl_CustomMouseCursor(event:Event) // прослушка входа в кадр { d.alpha -= 0.1; } if (bt_Alpha.y == 341) { bt_Alpha.y += 2; } } } пожалуйста, подскажите, как быть |
|
|||||
|
Эм...боюсь даже спросить...
Во втором примере...ВЫ ОПРЕДЕЛЯЕТЕ ФУНКЦИЮ В КОДЕ? ДВА РАЗА? MOUSE_DOWN как и MOUSE_CLICK диспатчится 1 раз. Просто MOUSE_CLICK это быстрый MOUSE_DOWN + MOUSE_UP. Чтоб постепенно убавлять альфу, создайте 3 функции, одна добавляет листенер таймера на MOUSE_DOWN, другая снимает на MOUSE_UP. Листенер вызывает функцию 3 - которая убавляет альфу.
__________________
RTFM |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 87
|
не бойтей одну функцию я 2 раза не повторяю))))) просто ошиблась когда сюда писала
а за подсказку СПС до таймера почемуто не додумалась |
|
|||||
|
Пусть не 2 раза.
Но в коде не определяют функции. Таймер будет работать аналогично ентерфрейму. Просто функции завязаные на энтерфрейм зависят от частоты кадров.
__________________
RTFM |
|
|||||
|
Почему бы не воспользоваться замечательной либой greensock? Тогда бы решение выглядело приблизительно так:
public function onMouseDownHandler(e:MouseEvent):void { TweenLite.to(_instance, TIME_OUT * _instance.alpha, {alpha:ALPHA_MIN}); } public function onMouseUpHandler(e:MouseEvent):void { // OverwriteManager удалит существующий процесс TweenLite.to(_instance, 0.01, {alpha:_instance.alpha, overwrite:OverwriteManager.CONCURRENT});} } |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|