PDA

Просмотр полной версии : onRollOut не успевает


Stas_SPb
03.04.2009, 15:29
Добрый день!
Есть кнопка, у нее в том числе записано действие по "уводу" мыши. Если мышь уводится медленно - действие срабатывает. Если быстро - не успевает. Можно ли как-то ускорить реакцию на увод курсора за пределы кнопки?
Заранее спасибо за ответы

Zik.
03.04.2009, 15:41
надо проверить, не хиттестится ли случайно мышка с кнопкой?
если нет, тогда делаем что хотим

Stas_SPb
03.04.2009, 16:10
можно чуть подробнее, чайник я:)

Art_133
03.04.2009, 16:40
исходник прикрепите. Если действительно быстро провести мышкой по кнопке то мышка может и не попасть на неё. Делайте область действия немного больше.

Stas_SPb
03.04.2009, 17:44
Наведение мыши на кнопку pic01_00
pic01_00.onRollOver = function() {getURL("Center0.htm", "mainFrame");stop();};
уведение мыши от кнопки
pic01_00.onRollOut = function() {getURL("CenterT.htm", "mainFrame");play();};
Проблема не в том, что мышка может не "попасть" - кнопка большая. Проблема проявляется, например, когда мышка стоит на кнопке, а потом резко уходит за границу.
Поля вокруг кнопки небольшие, 5 пикселей. но не хотелось бы их без особой надобности менять

Art_133
03.04.2009, 17:56
Вот я сделал кнопку. Пробовал раз 20 уходить за границу кнопки, ни разу не глюкануло.

Добавлено через 31 секунду
Что-то глючит, не могу файл приложить...

Art_133
03.04.2009, 18:02
вот, посмотрите

iNils
03.04.2009, 19:45
Stas_SPb, для оформления своего кода надо использовать теги (http://www.flasher.ru/forum/showthread.php?t=122539)

Psycho Tiger
03.04.2009, 21:17
Как не стараюсь - никак.
Единственная мысль, что ты кликаешь ещё постоянно. Тогда
btn.onRollOut = btn.onDragOut=function() {
this.txt.text = 'up';
};

Stas_SPb
06.04.2009, 12:17
Всем спасибо за поддержку!
Я пробовал исходник Art_133, у меня тоже не глюкануло. Но я был настойчив и в результате переделал его исходник так, что глюки видны (в приложении весь комплект, открывать Background.htm).
Похоже, что частота обновления каким-то образом связана с frame rate. На 50, как у Art_133 у меня не удалось добиться того, чтобы действие onRollOut не срабатывало. А вот при fps=0.1 это периодически получается:(
Я так полагаю, что придется увеличить fps. а чтобы смена кадров была через 10 сек - поставить на каждом кадре паузу:(

Psycho Tiger
06.04.2009, 20:25
А, ну дак это флешка теряет фокус просто при уводе её за границу.
Вроде в AS1/2 нельзя отследить потерю фокуса (не слишком уверен)