AS3 - слушатель MouseWheelDown - PullRequest
0 голосов
/ 21 февраля 2012

Есть ли способ определить, удерживается ли колесо мыши?Мне нужно панорамировать сцену, когда средняя кнопка или колесо мыши нажаты (я думал, что удерживать колесо мыши было то же самое, что и средняя кнопка мыши, но оно не работает).

Спасибо!

Ответы [ 3 ]

1 голос
/ 21 февраля 2012

Хотя я никогда не использовал его, есть событие MIDDLE_CLICK, которое работает только в приложениях AIR.Ваше приложение работает в браузере или на рабочем столе?

Кроме того, только мои 2 цента, чертовски неудобно использовать кнопку прокрутки в приложении.Каждый раз, когда я вынужден делать это в каком-то инструменте трехмерного моделирования, я хочу разбить свой монитор.Я бы использовал shift / alt / ctrl + mouse1 / mouse2.

0 голосов
/ 05 апреля 2012

Это возможно с as3, наткнулся на это так вот:

import flash.events.MouseEvent;

function handleMouseWheel(event:MouseEvent):void {

if ((event.delta > 0 && box_mc.y < 270) || (event.delta < 0 && box_mc.y > 0)) {

box_mc.y = box_mc.y + (event.delta * 3);

}

}

stage.addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel);
0 голосов
/ 21 февраля 2012

Как насчет того, чтобы попробовать это:

this.onEnterFrame = function() {
if (ASnative(800, 2)(1)) { 
trace ("You have pressed or depressed the left mouse button");
}
}

это обнаруживает левую мышь ... если вы замените аргумент (1) на (2), вы получите правую кнопку мыши, так что ...

this.onEnterFrame = function() {
if (ASnative(800, 2)(2)) { 
trace("You have pressed or depressed the right mouse button");
}
}

и если вы вставите (4), вы получите среднюю мышь или часто кнопку колеса ...

this.onEnterFrame = function() { 
if (ASnative(800, 2)(4)) {
trace("You have pressed or depressed the middle mouse or wheel button");
}
}

Источник: http://www.actionscript.org/forums/showthread.php3?t=68209

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

РЕДАКТИРОВАТЬ:

Хорошо, я сделалбуфу!Не уловил это должно было быть для AS 3.0.Поддержка щелчка средней / правой кнопкой мыши больше не доступна в AS 3.0.По крайней мере, напрямую.

Один из способов сделать это - использовать JS, чтобы обнаружить нажатую кнопку мыши, а затем передать эту переменную в виде строки во Flash.

Как обнаружить щелчок мыши вJS: http://www.quirksmode.org/js/events_properties.html

Как поместить эту переменную во Flash: (ExternalInterface) http://learn.adobe.com/wiki/display/Flex/External+Interface

Или вы можете сделать это напрямую через хак в AS 3.0: (ограниченная поддержка браузера и ОС) http://flashpunk.net/forums/index.php?topic=2549.0

DEMO: http://www.shinyhappypixels.com/punk-forums/clicky-hook/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...