![]() |
кнопка на клавиатуре нажимает кнопку на сцене
Приветствую!
Помогите пожалуйста с проблемой. На сцене есть кнопка и объект. При нажатии на эту кнопку мышкой кнопка меняет цвет (через внутренний "Down") и объект выполняет какие то действия. Как сделать чтобы при нажатии кнопки на клавиатуре (например кнопку "UP") нажималась кнопка на сцене? |
через onKeyUp, в хелпе есть пример
|
Такого примера я не вижу.
Ещё раз сокращённо: Нужно чтобы кнопка на сцене нажималась и мышкой и кнопкой клавиатуры |
Естественно, всех выкрутасов хелп не может предусмотреть, да и не должен, комбинировать нужно, программировать.
Пишите одну функцию, которая должна что-то делать, и назначаете ее исполнение на onKeyDown клавиши и onPress символа-кнопки: Код AS1/AS2:
|
Большое спасибо.
А я там ещё спрашивал: Когда нажимаем мышкой на кнопку срабатывает её внутренний "Down" . Это как то можно добавить? И ещё в данном коде нажимаю на кнопку клавиатуры и действие выполняется пока не отпущу. А можно как то так чтоб нажал на кнопку клавиатуры и действие выполнилось 1 раз и если держать действие не повторялось, а повторилось только при повторном нажатии? |
Цитата:
Цитата:
1. Заменяете кнопку-Button на кнопку - MovieClip, в нем два кадра: обычное и нажатое состояние. В каждом кадре (или только в первом) пропишите stop(); 2. Вносите изменения в код, чтобы правильно анимировать кнопку через btn.gotoAndStop() на нужный кадр. Разберитесь там с событиями клавиатуры сами , поэкспериментируйте. |
ок. Спасибо
|
Код AS1/AS2:
Цитата:
Даже я нашел "Creating movie clips with button states". |
А можно
Код AS1/AS2:
|
Цитата:
|
Вложений: 1
См. пример (тестируйте исходник в среде разработки, там trace есть)
Код AS1/AS2:
|
Вложений: 1
Вот мой код и исходник.
Если нажимать мышкой то увеличение координат и текст увеличивается на 1. Если клавиатурой то в прогрессии Код AS1/AS2:
|
Ну зачем вы все запихали в onEnterFrame, что за дикий код?
onEnterFrame выполняет все, что внутри нее с частотой, равной частоте кадров. Разве есть необходимость с огромной скоростью непрерывно пересоздавать слушателей и переназначать функции onRelease, onKeyDown и onKeyUp, doit1? Вытаскивайте все из onEnterFrame, оставляйте там только то, что реально нужно выполнять непрерывно, а все прочие функции выносите из нее. Чего вы вообще пытаетесь добиться? |
Объясните пожалуйста зачем нужен слушатель keyListener_obj? какова его функция ? Ведь без него тоже будет работать
|
Без слушателя никуда! Но, вот лишний объект убрать можно - мувиклип слушает клаву и мышь изначально, как объект предопределенного класса.
Код AS1/AS2:
|
спасибо mooncar!
|
Получилось? Пожалуйста...
|
Получилось. Но на втором кадре нажатие клавиш сохраняется.
А за решение чтоб не сохранялись спасибо Жень Шень! |
А как если действие при нажатии кнопки "1" или "2", "3" итд
|
| Часовой пояс GMT +4, время: 21:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.