![]() |
непонятные действия event:MouseEvent
Доброго времени суток.
Не могу понять, что происходит. Имею два класса А и В, из класса А запускаю обработчик событий MouseEvent.MOUSE_WHEEL который запускает функцию wheely в классе В. Так вот ситуация такая в классе В имеется функция в которой переменная tx=1; в самом конструкторе класса В переменной tx присваивается значение 0. Я трейсю переменную tx из функции wheely после события MOUSE_WHEEL и она равняется 0, хотя как я предполагаю она должна быть ровна 1. Но если я запущу эту функцию в класс В например вот так вот wheely (); то tx=1. Почему когда функция запускается после события MOUSE_WHEEL переменная tx=0;, а если из родного класса то tx=1; ? |
Код в студию, хотя бы минимальный примерчик.
|
первый класс
Код AS3:
Код AS3:
Код AS3:
Почему когда я запускаю функцию on из класса Сache переменная trace(tx);//результат 0 ? |
по идее такого не может быть, лично я бы прошелся пошагово в дебаггере по коду, если выложите исходник, так и сделаю
|
во-первых функция on не имеет области видимости, в этом случае по умолчанию используется internal, что дает доступ к ней только из того же пакета, во-вторых Object не может ни посылать, ни принимать события, так как не является наследником EventDispatcher. Собственно, Object это вообще базовый класс. Не нужно писать extends Object так как это вообще смысла не имеет.
Ну и в-третьих, я тут вообще не вижу где события мыши прослушиваются. Мышь может работать только на объектах, которые являются наследниками InteractiveObject |
И я не знаю, может вы не специально это делаете, но в конструкторе Anim вы создаёте новую локальную переменную tx и приравниваете её 1, а не переписываете аттрибут tx.
|
Цитата:
|
точно, тоже не заметил (
|
| Часовой пояс GMT +4, время: 06:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.