Я слушаю события MOUSE_MOVE.
Они отправляются и принимаются просто отлично, если не удерживать среднюю кнопку мыши.Я не получаю больше событий MOUSE_MOVE, пока не отпущена средняя кнопка.
Это проблема с Flash или что-то связанное с моей конкретной конфигурацией мыши / компьютера (bluetooth Mighty Mouse on Lion)?
Есть ли какие-нибудь известные обходные пути?
Вот пример проекта, демонстрирующий проблему.
Левый щелчок и перетаскивание отслеживают события перемещения мыши, но средний щелчок показывает только среднюю мышь вниз исредняя мышь вверх.
import flash.events.MouseEvent;
this.stage.addEventListener(MouseEvent.MIDDLE_MOUSE_DOWN, onMiddleMouseDown);
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
function onMiddleMouseDown(e:MouseEvent):void {
trace("middle down");
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
this.stage.addEventListener(MouseEvent.MIDDLE_MOUSE_UP, onMiddleMouseUp);
}
function onMouseMove(e:MouseEvent):void {
trace("mouse move");
}
function onMiddleMouseUp(e:MouseEvent):void {
trace("middle up");
this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
this.stage.removeEventListener(MouseEvent.MIDDLE_MOUSE_UP, onMiddleMouseUp);
}
function onMouseDown(e:MouseEvent):void {
trace("down");
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
this.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
function onMouseUp(e:MouseEvent):void {
trace("up");
this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
this.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
ОБНОВЛЕНИЕ:
Похоже, что положение мыши (свойства mouseX и mouseY) не обновляются при удерживании средней кнопки,Я все еще хотел бы знать, почему, или если есть обходной путь для этого.