![]() |
|
||||||||||
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
Вечер добрый!
Подскажите пожалуйста как отловить то что курсор, ушел за границы флэшки? В поиске искал по запросам "фокус" ничего подобного найти не смог к сожалению. Суть такая, когда во флэшке подводишь мышь к краям содержимое всей флэшки перемещается (скролл карты). Когда же мышку отводишь с флэшки, курсор как бы остается у края флэшки, и карта продолжает передвигаться. Спасибо! |
|
|||||
|
Модрон-ветеринар
|
В AS2 это никак. Может разве что с помощью надстройки в виде JS-функции. Либо активные области у краев сцены подрезать пикселей на 20.
В AS3 есть событие MOUSE_LEAVE, которое этот пробел закрыло.
__________________
Идите первым! Последний раз редактировалось mooncar; 08.02.2011 в 22:10. |
|
|||||
|
Я конечно дико извиняюсь, но вот такой примерчик - не то, что хотелось?
На примере драга. Суть движений в изначальной задаче, сами понимаете, не очень ясна ![]() BACKGAL.onMouseMove = function() { if( _xmouse < 10 || _xmouse > Stage.width-10 || _ymouse < 10 || _ymouse > Stage.height- 10 ) { MAP.stopDrag() } updateAfterEvent() } BACKGAL.onPress = function(){ MAP.startDrag() } BACKGAL.onRelease = BACKGAL.onReleaseOutside = function(){ MAP.stopDrag() } |
|
|||||
|
Модрон-ветеринар
|
Отнюдь.
У автора не драг, с драгом-то все просто и однозачно. У него автоматом скроллинг происходит, когда по карте мышь двигается. Недавно такой проект на AS2 делал, так в конце концов пришлось на драг переделать, хотя был промежуточный вариант с неактивными полосками у краев сцены.
__________________
Идите первым! Последний раз редактировалось mooncar; 08.02.2011 в 23:09. |
|
|||||
|
Модрон-ветеринар
|
Да, такой вариант в моем проекте был предпоследним, от него и отказались - ненадежно, не всегда отлавливалось событие. Разрыв-то должен быть, чтобы RollOut сработал, а ширины разрыва м/у кнопкой-полоской и краем сцены не всегда хватало, мышь быстрее иногда проходила и событие не происходило.
С hitTest то же самое. 1. JS надстройку + команду во флешку (с помощью ExternalInterface), что с нее ушли (надежно). 2. Кнопки-полоски по бокам и разрывы м/у ними и краями сцены (ненадежно). 3. Переписать на AS3 (нереально?). 4. Ввести драг (не так задумывалось).
__________________
Идите первым! |
|
|||||
|
хм. но .onMouseMove ведь живет и здравствует?
хоть на энтерФрэйм повесить. Честно говоря уже слышал про проблемы с уходм мышки, но как-то у самого ни разу не возникало проблемы. От автора, однако, пример надобен, где там у него что не работает. Чтобы скроллируемый клип стопнуть, там есть 1001 вариант ![]() |
|
|||||
|
Модрон-ветеринар
|
dark, кажется нет их там, 1001-го варианта, кроме 4-х мной приведенных, будет интересно, если кто-то альтернтаивное решение подскажет.
Мои примеры: Вот такое решение было. Перед этим карта тоже скроллилась не при наведении на края, как по этой ссылке, а при любом проходе мыши (как раз onMouseMove был), в зависимости от ее положения. Однако вылезли такие же грабли, как у автора. Пришлось сперва сделать как по ссылке выше, а потом и вовсе сделать драг, поскольку при маленьком окне области с кнопками начинали неудобно накладываться.
__________________
Идите первым! Последний раз редактировалось mooncar; 09.02.2011 в 01:27. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|