Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Отследить положение мыши, возможно? (http://www.flasher.ru/forum/showthread.php?t=129147)

Surus 25.08.2009 23:01

Отследить положение мыши, возможно?
 
Сделали нам баннер флешевый. Все как мы хотели кроме одного единственного трабла, который фирма которая делала баннер так и не смогла победить.
Опишу в чем трабл.
Наводя мышью на баннер происходят некие дейтствия. Уводя мышь с баннера нужно чтобы баннер возвращался в исходное состояние.
Для этого по всем краям баннера сделаны определенный поля в 10 пикселей, пересекая которые мышью баннер получает сигнал вернутся в исходное состояние. Проблема в том, что если мышь убрать от баннера быстро, эти поля не всегда успевают отследить что мышь прошла над ними. Баннер остается в последнем положении не возвращаясь в исходное состояние.

На вопрос, неужели нельзя сделать отслеживание находится ли мышь над баннером, нам ответили что такое невозможно.

Помогите плз как решить эту проблему. Фирма нам пообещала доделать баннер если мы намекнем как это решить.

Заранее огромное спасибо!

VVall 25.08.2009 23:10

В AS3 добавлено событие MOUSE_LEAVE.

Surus 25.08.2009 23:44

Нам нужно сохранить баннер в флеше 6 версии. АС3 позволит такое?

Алиль 25.08.2009 23:45

в AS 2.0 это
Код:

onMouseMove

VVall 25.08.2009 23:51

Цитата:

Сообщение от Surus (Сообщение 845557)
Нам нужно сохранить баннер в флеше 6 версии. АС3 позволит такое?

AS3 с 9-ой версии. Честно говоря, не понимаю, в чём смысл ориентироваться на совместимость с настолько устаревшим ПО, тем более что даже AS2 появился только в 7-ой версии (2003 год). Вам, конечно, виднее, чего хотеть, но посмотрите на всякий случай на эти цифры.

Surus 26.08.2009 00:35

Цитата:

Сообщение от VVall (Сообщение 845559)
AS3 с 9-ой версии. Честно говоря, не понимаю, в чём смысл ориентироваться на совместимость с настолько устаревшим ПО, тем более что даже AS2 появился только в 7-ой версии (2003 год). Вам, конечно, виднее, чего хотеть, но посмотрите на всякий случай на эти цифры.


А можно поподробнее? Как его использовать?

mooncar 26.08.2009 01:27

Действительно, намекните этой фирме, что можно попробовать использовать MouseMove и повесить на эту функцию проверку на hitTest с координатами указателя мыши.
Проверка будет осуществляться непрерывно, и как только hitTest выдаст false, это можно использовать сигнал для возврата на исходное состояние.

aksios 26.08.2009 01:35

Surus, суть в том, что событийная модель 6го плеера тут Вам не поможет, поскольку опрос мыши в браузере происходит слишком медленно.
Могу намекнуть, как можно улучшить:
Нужно смотреть не координаты мыши, а направление и скорость движения, если мышь перестает двигаться, то можно вычислить ее координаты, как если бы она продолжала движение с прежней скоростью и направлением. Если расчитываемая точка находится за приделами сцены, то нужно сделать небольшую паузу - подождать не появяться ли новые значения координат мыша и если нет, то принять решение, что мышь покинула сцену. Ошибки тоже будут, но их будет меньше.
Я бы также рекомендовал для воспитания торопыжек делать указатель мыши невидимым в клипе и заменять его к примеру анимированным клипом со шлейфом, который будет появляться исчезать в зависимости от скорости перемещения.

udaaff 26.08.2009 01:36

Цитата:

Сообщение от mooncar (Сообщение 845574)
Действительно, намекните этой фирме, что можно попробовать использовать MouseMove и повесить на эту функцию проверку на hitTest с координатами указателя мыши.
Проверка будет осуществляться непрерывно, и как только hitTest выдаст false, это можно использовать сигнал для возврата на исходное состояние.

И когда же он false выдаст?

С mouse leave сделать и не париться.

aksios, овчинка выделки не стоит в данном случае.

aksios 26.08.2009 02:01

udaaff, чисто из спортивного интереса.
UPD: Кстати да, MOUSE_LEAVE рулит в АС3.


Часовой пояс GMT +4, время: 09:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.