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

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

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

Регистрация: Jan 2016
Сообщений: 46
По умолчанию Нажатие кнопки, при нажатии кнопки на клавиатуре

У меня на кадре есть кнопка "button1". Как сделать, чтобы при нажатии на клавиатуре кнопки ENTER, нажималась эта кнопка?

Старый 25.12.2017, 18:05
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Повесь их на один обработчик, а как аргумент принимай просто Event или Object
Код AS3:
button1.addEventListener(MouseEvent.CLICK, onButton);
stage.addEventListener(KeyboardEvent.KEY_UP, onButton);
 
function onButton(e:Event):void {
    if (e is MouseEvent) {
           if (e.target == button1) buttonAction();
    } else if (e is KeyboardEvent) {
        var keyboardEvent:KeyboardEvent = e as KeyboardEvent;
        if (keyboardEvent.keyCode == KeyCode.ENTER) {
             buttonAction();
        }
    }
}
function buttonAction():void {
     // код, который должен выполняться по нажатию нужной кнопки
}
__________________
Ко мне можно и нужно обращаться на ты)

Старый 25.12.2017, 18:12
саша55555 вне форума Посмотреть профиль Отправить личное сообщение для саша55555 Найти все сообщения от саша55555
  № 3  
Ответить с цитированием
саша55555

Регистрация: Jan 2016
Сообщений: 46
А какой код для нажатия кнопки?

Старый 25.12.2017, 18:14
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 4  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
это тебе виднее

Старый 25.12.2017, 18:19
саша55555 вне форума Посмотреть профиль Отправить личное сообщение для саша55555 Найти все сообщения от саша55555
  № 5  
Ответить с цитированием
саша55555

Регистрация: Jan 2016
Сообщений: 46
Нет, мне нужно чтобы при нажатии на ENTER выполнялось действие "нажать на кнопку", про ENTER я понял, но какой код нужен, для нажатия на кнопку "button1"?
Код AS3:
function buttonAction():void {
     // код, который должен выполняться по нажатию нужной кнопки
}

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Код AS3:
button1.addEventListener(MouseEvent.CLICK, buttonHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyBoardHandler);
 
function keyBoardHandler(event:KeyboardEvent):void 
{
        if (event.keyCode == KeyCode.ENTER)
            buttonHandler();
}
 
function buttonHandler(event:MouseEvent=null):void
{
        trace('кнопка нажата');
}
__________________
while(live()) { hope(); }

Старый 25.12.2017, 18:39
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 7  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
но какой код нужен, для нажатия на кнопку "button1"?
Код AS3:
button1.dispatchEvent(new MouseEvent(MouseEvent.CLICK));


Последний раз редактировалось undefined; 25.12.2017 в 18:49.
Старый 25.12.2017, 18:44
саша55555 вне форума Посмотреть профиль Отправить личное сообщение для саша55555 Найти все сообщения от саша55555
  № 8  
Ответить с цитированием
саша55555

Регистрация: Jan 2016
Сообщений: 46
Помогите, при нажатии на Enter все работает как надо, но в лог вылетает
Код AS3:
Error: Error #2094: Переполнение при рекурсивной передаче события.
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at test_fla::ChatPanel_26/buttonAction()
	at test_fla::ChatPanel_26/onButton()


Последний раз редактировалось саша55555; 25.12.2017 в 19:12.
Старый 25.12.2017, 19:16
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 9  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
так мы ж не знаем, что вы делаете
__________________
while(live()) { hope(); }

Старый 25.12.2017, 19:36
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 10  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
button1.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
этот код нажимает на кнопку без клика по ней.Естественно, если засунуть его в обработчик нажатия все зациклится

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

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

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


 


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


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