Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.08.2010, 19:17
Contemplator вне форума Посмотреть профиль Отправить личное сообщение для Contemplator Найти все сообщения от Contemplator
  № 1  
Ответить с цитированием
Contemplator
 
Аватар для Contemplator

Регистрация: Nov 2009
Сообщений: 425
Question обработка нажатия правой клавиши мыши

Зачастил я сегодня... ещё пару-тройку дней буду частенько постить темы, похоже...

И так... есть события: нажатие одной из клавиш пробела, "pause/break" и "P"... есть слушатель... есть функция...
Код AS1/AS2:
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))" - но пауза не включается при выполнении этого условия (все остальные нажатия клавиш обрабатываются нормально, понятное дело)...

где напортачил?

Старый 02.08.2010, 19:32
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Нажатие правой кнопки мыши? Вы ничего не путаете?
Нажатие ЛКМ соответствует событию onMouseDown, правую вы никак обработать не сможете.

Старый 02.08.2010, 19:39
Contemplator вне форума Посмотреть профиль Отправить личное сообщение для Contemplator Найти все сообщения от Contemplator
  № 3  
Ответить с цитированием
Contemplator
 
Аватар для Contemplator

Регистрация: Nov 2009
Сообщений: 425
Цитата:
Сообщение от mooncar Посмотреть сообщение
Нажатие правой кнопки мыши? Вы ничего не путаете?
Нажатие ЛКМ соответствует событию onMouseDown, правую вы никак обработать не сможете.
эээм... 37 в тени, дым закрывающий обзор в радиусе 15 метров, запах гари, пачка цитрамона в день - всё это, конечно, пагубно сказывается на работе моего мозга, но всё же...
в таких консрукциях по нажатию правой клавиши мыши ф-я pauseOn() вызывается:
Код AS1/AS2:
onEnterFrame = function () {
	if (Key.isDown(2)){
		pauseOn();
	};
};
Код AS1/AS2:
onEnterFrame = function () {
	if (ASnative(800, 2)(2)) {
		pauseOn();
	}
};
Но мне ни к чему обременять onEnterFrame лишней проверкой, да и присобачить это дело хотелось бы именно к той ф-ии =(

вот и думаю: как так-то? =(

Старый 02.08.2010, 19:40
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
А тут смотрите какая ерунда: onKeyDown вызывается от клавиатуры, а мышка не есть клавиатура. Но при этом правая кнопка мышки имеет keycode 2 )

Старый 02.08.2010, 19:49
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Psycho Tiger, интересно, не знал.
Проверил (флешка stanalone) - не работает, вызывается стандартное меню плеера и все...

Старый 03.08.2010, 02:29
NoCD вне форума Посмотреть профиль Отправить личное сообщение для NoCD Найти все сообщения от NoCD
  № 6  
Ответить с цитированием
NoCD
 
Аватар для NoCD

Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
Код AS1/AS2:
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);	
}

Старый 03.08.2010, 08:49
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 7  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Psycho Tiger, кнопка - она и на мышке кнопка, вот onKeyboardMove - это ерунда)).
Contemplator, в АС2 только через enterFrame + Key.isDown(2).


Последний раз редактировалось alexcon314; 03.08.2010 в 08:59.
Старый 03.08.2010, 11:38
Contemplator вне форума Посмотреть профиль Отправить личное сообщение для Contemplator Найти все сообщения от Contemplator
  № 8  
Ответить с цитированием
Contemplator
 
Аватар для Contemplator

Регистрация: Nov 2009
Сообщений: 425
Всем спасибо за ответы и разъяснения...
Печально что от реверсивных ф-й в данном случае не избавиться =(

alexcon314, а в AS3 как с этим делом всё обстоит? (ну так, на будущее что б знать...)

Старый 03.08.2010, 11:55
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 9  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
http://livedocs.adobe.com/flash/9.0/...ml#RIGHT_CLICK
это в AIR
а так, через ContextMenuEvent.MENU_SELECT можно ловить.


Последний раз редактировалось alexcon314; 03.08.2010 в 12:14.
Старый 03.08.2010, 12:12
Contemplator вне форума Посмотреть профиль Отправить личное сообщение для Contemplator Найти все сообщения от Contemplator
  № 10  
Ответить с цитированием
Contemplator
 
Аватар для Contemplator

Регистрация: Nov 2009
Сообщений: 425
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
спасибо

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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