Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обработка правой/средней кнопок мыши за пределами флэшки (http://www.flasher.ru/forum/showthread.php?t=211710)

undefined 21.10.2015 12:12

Обработка правой/средней кнопок мыши за пределами флэшки
 
Обычно для всякого рода тасканий объектов применяется такая логика:
Код AS3:

obj.addEventListener(MouseEvent.MOUSE_DOWN,onMD);
obj.addEventListener(MouseEvent.MOUSE_UP,onMU);
stage.addEventListener(MouseEvent.MOUSE_UP,onMU);
 
function onMD(e:MouseEvent):void {
obj.addEventListener(Event.ENTER_FRAME,onEF);
}
 
function onMU(e:MouseEvent):void {
obj.removeEventListener(Event.ENTER_FRAME,onEF);
}
 
function onEF(e:Event):void {
//таскаем obj
}

такая схема обрабатывает и случай когда мышь выведена за пределы флэшки и там отпущена т.к. в этом случае срабатывает хэндлер MouseEvent.MOUSE_UP у стейджа.А что делать если таскание повешено на среднюю/правую кнопки? Стейдж в этом случае не срабатывает.

caseyryan 21.10.2015 13:23

Ну слушай событие MOUSE_LEAVE, И по нему отрубай таскание.
Хотя я бы сначала проверил MIDDLE_MOUSE_UP и RIGHT_MOUSE_UP ;)

undefined 21.10.2015 13:56

Цитата:

Ну слушай событие MOUSE_LEAVE, И по нему отрубай таскание.
Да, благодарю, допер уж сам.Только надо еще запоминать стейт нажато/не нажато и по MOUSE_MOVE врубать назад


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

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