| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > ActionScript 3 > Движение объекта на стрелки клавиатуры |
| Автор: PPie 8.12.2010, 00:39 | ||
Написал код для движения объекта на стрелки клавиатуры(в коде по стрелке влево), пересмотрел стопитсот раз, не пойму почему не работает. Подскажите пожалуйста)Здесь это объект _player2, изначально был типа Sprite, потом MovieClip, никак не работает. Работаю в adobe flash bulider 4, пробовал в adobe flash cs3(по урокам easyflash) - тоже ничего не выходит. Может это быть из за работы с ноутбука?
|
| Автор: SoWa 8.12.2010, 08:24 | ||
Вот у тебя реакция на событие клавиатуры. Доведи её до такого вида:
И посмотри, а будет ли событие вызываться ;) Потому что слушатель ты непонятно куда навешиваешь : addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); Может он на stage повесился, может на arkanoid, может ваще никуда не повесился. |
| Автор: PPie 8.12.2010, 11:20 |
| В консоль ничего не выводится ) Куда же нужно повесить слушатель? Делал элементарный пример из книги, тоже ничего в консоль не выводилось |
| Автор: SoWa 8.12.2010, 18:03 | ||||
| А щас и посмотрим... Хоть я флеш только для рисования использую, не могу в нем кодить Вот так работает:
В консоль выводятся сообщения, что правда, ивент случился, и даже опознает, какую кнопочку нажали. Так как я флеш использую как рисовалку, то возникает закономерный вопрос: а если в фокусе окажется ченить другое, например кнопка - как будет вести себя этот обработчик события? Кидаем на сцену кнопку, даем ей имя button1(Дельфийская привычка детства), и немного модифицируем обработчик события:
Теперь в любом случае - что кнопка в фокусе, что нет - реакция на событие есть, и мы это можем наблюдать воочию Удачных экспериментов! |
| Автор: zodiac 8.12.2010, 18:15 | ||
| Не работало потому, что слушатель вешался не на глобальный объект, а на объект выше по цепочке видимости и как только этот объект терял фокус событие, само-собой, не выполнялось. Как уже сказал SoWa,
PS Я бы советовал использовать для имени листенера не onKeyDown, a более "политкорректное", так скажем) например, onKeyDownListener. |
| Автор: PPie 8.12.2010, 22:51 |
| Всем спасибо)))на некоторый период времени забыл что консоль в фб только через дебаггер пашет) |