Просмотр полной версии : обработка нажатия правой клавиши мыши
Contemplator
02.08.2010, 19:17
Зачастил я сегодня... ещё пару-тройку дней буду частенько постить темы, похоже...
И так... есть события: нажатие одной из клавиш пробела, "pause/break" и "P"... есть слушатель... есть функция...
var keyListenerPause:Object = new Object();
Key.addListener(keyListenerPause)
keyListenerPause.onKeyDown = function():Void {
if ((Key.isDown(Key.SPACE)) || (Key.getCode() == 19) || (Key.getCode() == 80)) {
if (pauseID == false) {
pauseOn();
} else {
pauseEnd();
}
}
};
всё работает... хочу что б так же как и нажатие любой из описанных клавиш обрабатывалось нажатие правой кнопки мыши (т.е. включалась пауза во флешке), дописываю в условии if'a "||(Key.isDown(2))" - но пауза не включается при выполнении этого условия (все остальные нажатия клавиш обрабатываются нормально, понятное дело)...
где напортачил?
Нажатие правой кнопки мыши? Вы ничего не путаете?
Нажатие ЛКМ соответствует событию onMouseDown, правую вы никак обработать не сможете.
Contemplator
02.08.2010, 19:39
Нажатие правой кнопки мыши? Вы ничего не путаете?
Нажатие ЛКМ соответствует событию onMouseDown, правую вы никак обработать не сможете.
эээм... 37 в тени, дым закрывающий обзор в радиусе 15 метров, запах гари, пачка цитрамона в день - всё это, конечно, пагубно сказывается на работе моего мозга, но всё же...
в таких консрукциях по нажатию правой клавиши мыши ф-я pauseOn() вызывается:
onEnterFrame = function () {
if (Key.isDown(2)){
pauseOn();
};
};
onEnterFrame = function () {
if (ASnative(800, 2)(2)) {
pauseOn();
}
};
Но мне ни к чему обременять onEnterFrame лишней проверкой, да и присобачить это дело хотелось бы именно к той ф-ии =(
вот и думаю: как так-то? =(
Psycho Tiger
02.08.2010, 19:40
А тут смотрите какая ерунда: onKeyDown вызывается от клавиатуры, а мышка не есть клавиатура. Но при этом правая кнопка мышки имеет keycode 2 )
Psycho Tiger, интересно, не знал.
Проверил (флешка stanalone) - не работает, вызывается стандартное меню плеера и все...
this.onEnterFrame = function() {
if (ASnative(800, 2)(1)) {trace("Левая кнопка");textOut("Левая кнопка");}
if (ASnative(800, 2)(2)) {trace("Правая кнопка");textOut("Правая кнопка");}
if (ASnative(800, 2)(4)) {trace("Средняя кнопка");textOut("Средняя кнопка");}
if (ASnative(800, 2)(5)) {trace("Левая кнопка (дополнительная)");textOut("Левая кнопка (дополнительная)");}
if (ASnative(800, 2)(6)) {trace("Правая кнопка (дополнительная)");textOut("Правая кнопка (дополнительная)");}
};
function textOut(txt){
var txt_c = _root.createTextField("txt",1000,100,100,200,30);
txt_c.text= txt;
txt_c.textColor=0x000000;
txt_c.selectable=false;
var format=new TextFormat();
format.size = 24;
format.font = "Arial";
txt_c.setTextFormat(format);
}
alexcon314
03.08.2010, 08:49
Psycho Tiger, кнопка - она и на мышке кнопка, вот onKeyboardMove - это ерунда)).
Contemplator, в АС2 только через enterFrame + Key.isDown(2).
Contemplator
03.08.2010, 11:38
Всем спасибо за ответы и разъяснения...
Печально что от реверсивных ф-й в данном случае не избавиться =(
alexcon314, а в AS3 как с этим делом всё обстоит? (ну так, на будущее что б знать...)
alexcon314
03.08.2010, 11:55
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/MouseEvent.html#RIGHT_CLICK
это в AIR
а так, через ContextMenuEvent.MENU_SELECT можно ловить.
Contemplator
03.08.2010, 12:12
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/MouseEvent.html#RIGHT_CLICK
спасибо ;)
alexcon314
03.08.2010, 12:24
хм.. зациклились
var my_cm:ContextMenu = new ContextMenu();
function menuHandler(obj:Object, menu:ContextMenu) {
trace("RIGHT CLICK");
myTextField.text = "RIGHT CLICK";
}
my_cm.onSelect = menuHandler;
this.menu = my_cm;
Contemplator
03.08.2010, 15:43
хм.. зациклились
var my_cm:ContextMenu = new ContextMenu();
function menuHandler(obj:Object, menu:ContextMenu) {
trace("RIGHT CLICK");
myTextField.text = "RIGHT CLICK";
}
my_cm.onSelect = menuHandler;
this.menu = my_cm;
то что нужно! =))
спасибо ещё раз!
сам бы я не додумался до такого =)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.