rollOut всей области флэша

22 views
Skip to first unread message

mastak

unread,
Aug 13, 2008, 11:22:32 AM8/13/08
to ruF...@googlegroups.com
Здравствуйте, уважаемые Руфлэшевцы!

Догадываюсь, что должна быть функция уже готовая в ActionScript 2.0,
отслеживающая событие наподобие rollOut в мувике, но только
реагирующая на выход курсора за пределы рабочего поля всей флэшки.
Если кто сталкивался - помажите:) Самому не нарыть что-то. Нарисовать кнопку на всю ширину поля
не предлагать, ибо на поле уже есть мувики, следящие за этими
событиями, то бишь rollOut и т.п....

--
С уважением,
mastak mailto:mas...@hot.ee

ign

unread,
Aug 13, 2008, 12:16:51 PM8/13/08
to ruF...@googlegroups.com
mastak пишет:
> Догадываюсь, что должна быть функция реагирующая на выход курсора за пределы рабочего поля всей флэшки.
>
Event.MOUSE_LEAVE

--
ign
_____________________________________________________________________
http://www.isky.ru

mastak

unread,
Aug 13, 2008, 1:11:31 PM8/13/08
to ign
Здравствуйте, ign.

Вы писали 13 августа 2008 г., 19:16:51:

> Event.MOUSE_LEAVE

А это разве не для ActionScript 3.0?

Ivan Dembicki

unread,
Aug 13, 2008, 4:13:42 PM8/13/08
to ruF...@googlegroups.com
Hello,

в AS2 проблема не решена стандартными методами.
Аналога AS3 событию Event.MOUSE_LEAVE нет.
Народ изголялся разными способами, типа таскать
прозрачную кнопку под мышью, но по сути все
решения так или иначе приводят к тому, что эффект
как если на весь экран поверх всего положить одну
большую прозрачную кнопку и по onRollOut определять
выход.

Второй вариант - положить кнопку на бэграунд
и отслеживать по ней с задержкой.
Недостаток - нужно на всех кнопках, что поверх,
прописывать сброс вызова и задержки бэграундной
кнопки.


--
iv
http://www.bezier.ru
http://bezier.googlecode.com

Message has been deleted

mastak

unread,
Aug 14, 2008, 2:42:29 AM8/14/08
to Ivan Dembicki
Здравствуйте, Ivan.

Вы писали 13 августа 2008 г., 23:13:42:

> в AS2 проблема не решена стандартными методами.

Спасибо Ваня, очень жаль конечно. Ну а альтернативный метод придумать
конечно не проблема. Хотелось кратко (=талантливо (С)А. Чехов) ;)

Tatyana White

unread,
Aug 14, 2008, 4:03:53 PM8/14/08
to ruF...@googlegroups.com
есть еще один вариант. javascript,
оповещающий флешку о потере фокуса
(потому что можно отвести мышь очень
быстро, и флешка будет думать что мышь
осталась где-то на середине флешки)

w.

--

Татьяна Белая;
флэш экспериментатор;
[http://0xFFFFFF.ru | in...@0xFFFFFF.ru];

Nox Noctis

unread,
Aug 14, 2008, 4:15:11 PM8/14/08
to ruF...@googlegroups.com
> есть еще один вариант. javascript,
> оповещающий флешку о потере фокуса
>
> w.

Если у тебя есть скрипт, который будет это делать корректно в сафари и
фф на маке, так же как в ие, фф и опере на винде - делись, не стесняйся. :)

--
Michael Antipin
______________________________________________________________________
n...@gammagroup.ru | http://www.gammagroup.ru | http://www.noregret.org

Tatyana White

unread,
Aug 14, 2008, 4:18:38 PM8/14/08
to ruF...@googlegroups.com
если честно, никогда так не делала, но
постараюсь узнать.

w.

--

Татьяна Белая;
флэш экспериментатор;
[http://0xFFFFFF.ru | in...@0xFFFFFF.ru];

Nox Noctis

unread,
Aug 14, 2008, 4:23:57 PM8/14/08
to ruF...@googlegroups.com
Tatyana White пишет:

> если честно, никогда так не делала, но
> постараюсь узнать.

можешь не очень стараться.
даже на винде куча проблем - броузеры по-разному относятся к передаче
фокуса флэшке (джс в фф может вообще не получать мышиных событий если
фокус на флжшке). я сейчас не помню, как там было, но дело гиблое, это
факт. я готов поверить в жизнеспособность этого дела, если увижу
стабильный пример... но гораздо рациональнее и эффективнее - писать уже
на АС3. :)

iFrame

unread,
Aug 21, 2008, 4:20:44 PM8/21/08
to ruF...@googlegroups.com
Здрасте!

Извините, что поздно - в Крыму, а интернет мне достался на редкость
обсосный, поэтому почту смотрю крайне редко.
Недавно рылся в старых сорцах, для выкладывания в блоге и наткнулся на
свой класс созданый для этого, но подумал,что MOUSE_LEAVE сдклали и
для АС2, как и фуллскрин, поэтому откинул его. :)

Архив классов с примером можете найти тут:
http://www.actualwave.com/stageBounds.zip

Класс работает на догадках, т.е. он определяет скорость мыши на момент
теоретического наезда на границу плеера и получает вероятность выхода
указателя за пределы плеера. Значения по умолчанию настроены на
оптимальный режим, но можно увелиить границу определения(класс
проверяет мышку только, когда она подходит на определённое расстояние
к границе плеера) - это, как помнится, чревато тормозами. Правда,
тогда компьютеры были немного слабее. :)

Класс полностью статика, создавать экземпляры не нужно

Ещё, помоему, класс понимает выравнивание стэйджа и работает не только
на TL, а и на других значениях выравнивания. Использует мой
Broadcaster для вещания событий по модели AsBroadcaster.

События:
onMouseDragOut - нажал и вынес мышку за пределы плеера
onMouseMoveOut - просто вынес мышку
onMouseDragIn - вынес и вернул нажатую мышку
onMouseMoveIn - вернл мышку в область плеера

Свойства:
watchStageAlign - следить или не следить за изменениями Stage.align,
по умолчанию true
borderThickness - толщина ободка в котором будет определятся скорость
мышки, по умолчанию 75
verificationTimeout - Время через которое будет проверятся скорость,
чем меньше значение, тем меньшие расстояния проверяются - выше
точность, но и большая загрузка.

--
Oleg Galaburda
http://blog.actualwave.com/

Advanced Flash Components / CrabDish LLC
7350 E. Progress Place, Suite 212
Greenwood Village, CO 80111
USA

303.694.9900
http://www.afcomponents.com

Roma Oskolkov

unread,
Aug 22, 2008, 7:09:22 AM8/22/08
to ruF...@googlegroups.com
­X-No-Archive: yes

Олег, вы маньяк)
Респектище.
Reply all
Reply to author
Forward
0 new messages