Догадываюсь, что должна быть функция уже готовая в ActionScript 2.0,
отслеживающая событие наподобие rollOut в мувике, но только
реагирующая на выход курсора за пределы рабочего поля всей флэшки.
Если кто сталкивался - помажите:) Самому не нарыть что-то. Нарисовать кнопку на всю ширину поля
не предлагать, ибо на поле уже есть мувики, следящие за этими
событиями, то бишь rollOut и т.п....
--
С уважением,
mastak mailto:mas...@hot.ee
--
ign
_____________________________________________________________________
http://www.isky.ru
Вы писали 13 августа 2008 г., 19:16:51:
> Event.MOUSE_LEAVE
А это разве не для ActionScript 3.0?
в AS2 проблема не решена стандартными методами.
Аналога AS3 событию Event.MOUSE_LEAVE нет.
Народ изголялся разными способами, типа таскать
прозрачную кнопку под мышью, но по сути все
решения так или иначе приводят к тому, что эффект
как если на весь экран поверх всего положить одну
большую прозрачную кнопку и по onRollOut определять
выход.
Второй вариант - положить кнопку на бэграунд
и отслеживать по ней с задержкой.
Недостаток - нужно на всех кнопках, что поверх,
прописывать сброс вызова и задержки бэграундной
кнопки.
Вы писали 13 августа 2008 г., 23:13:42:
> в AS2 проблема не решена стандартными методами.
Спасибо Ваня, очень жаль конечно. Ну а альтернативный метод придумать
конечно не проблема. Хотелось кратко (=талантливо (С)А. Чехов) ;)
Если у тебя есть скрипт, который будет это делать корректно в сафари и
фф на маке, так же как в ие, фф и опере на винде - делись, не стесняйся. :)
--
Michael Antipin
______________________________________________________________________
n...@gammagroup.ru | http://www.gammagroup.ru | http://www.noregret.org
можешь не очень стараться.
даже на винде куча проблем - броузеры по-разному относятся к передаче
фокуса флэшке (джс в фф может вообще не получать мышиных событий если
фокус на флжшке). я сейчас не помню, как там было, но дело гиблое, это
факт. я готов поверить в жизнеспособность этого дела, если увижу
стабильный пример... но гораздо рациональнее и эффективнее - писать уже
на АС3. :)
Извините, что поздно - в Крыму, а интернет мне достался на редкость
обсосный, поэтому почту смотрю крайне редко.
Недавно рылся в старых сорцах, для выкладывания в блоге и наткнулся на
свой класс созданый для этого, но подумал,что 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