![]() |
|
||||||||||
|
|||||
|
всем хеллоу!
![]() Есть у меня класс Craft : package classes { import flash.display.MovieClip; import flash.events.*; import classes.assisted.keyPressed; public class Craft extends MovieClip { var kp = new keyPressed(); public function Craft():void { trace("class craft called"); addEventListener(Event.ENTER_FRAME, ef); } public function ef(e:Event) { kp.keyP(this); } } } package classes.assisted { import flash.events.*; public class keyPressed { public function keyPressed():void { trace("class keyPressed called"); } public function keyP(obj):void { obj.addEventListener(KeyboardEvent.KEY_DOWN, kd); obj.y-=1; } public function kd(event:KeyboardEvent) { trace("^_^"); //trace(event.keyCode); } } } ![]() Почему такая несправедливость в мире? Неужто мне прийдеться передовать не только сам объект, но и коды нажатых клавишь? |
|
|||||
|
Modus ponens
|
1. Названия классов с прописной.
2. super() первой строчкой в конструкторе. 3. Вы каждый кадр вызываете addEventListener() - зачем? 4. переменные, аргументы и возвращаемый тип функций должны быть типизированы. 5. визуальные объекты диспатчат события клавиатуры только когда они в фокусе (например, если вы нажали клавишу Tab чтобы на них перевести фокус), иначе события клавиатуре диспатчатся из stage. 6. Не пишите звездочки в импортах - используйте нормальный редактор кода, где импорты подставляются сами.
__________________
Hell is the possibility of sanity |
|
|||||
|
если чесно не очень понял зачем это, мой класс вдеь нечего не расширяет
исправил, действительно глупо Цитата:
Цитата:
"1120: Обращение несуществующего свойства stage." что же делать-то?! ![]() |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 44
|
А у вот тоже вопрос, уже очень давнишний, но он в тему, поэтому решил не делать новый тред..)
При запуске выскакивает варнинг : Warning: 1090: Ошибка миграции: Flash Player не запускает обработчик событий onMouseDown автоматически во время выполнения в ActionScript 3.0. Сначала нужно зарегистрировать этот обработчик для события, используя addEventListener ("mouseDown", callback_handler). Привязка(addEventListener) происходит после объявления Sprite, и добавления его на stage при этом не срабатывает первый щелчок на моем спрайте, все последующие работают..о0 в чем может быть проблема..? 0о |
|
|||||
|
dex157
не очень ты тут в тему, но вот - держи: http://help.adobe.com/ru_RU/AS3LCR/F...imeErrors.html иши там свое 1090 |
|
|||||
|
Modus ponens
|
>> если чесно не очень понял зачем это, мой класс вдеь нечего не расширяет
Классов, которые ничего не расширяют в AS3 не бывает. что же делать-то?! >> Дождаться когда стейдж станет доступным, например после события Event.ADDED_TO_STAGE dex157: Это дурацкое предупреждение, просто вам говорят о том, что onMouseDown - это неудачное название для функции потому что такое использовалось в AS2.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 44
|
wvxvw
Спасибо большое..) |
|
|||||
|
Цитата:
получается расширяет Object? Хотя, не совсем понимаю зачем вызывать суперкласс Object`а )
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
Объясните пажалуйста.. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|