|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
|
непонятные действия 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; ? |
|
|||||
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Код в студию, хотя бы минимальный примерчик.
|
|
|||||
Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
|
первый класс
package Framework.cache { public class Cache extends Sprite { //вот тут в конструкторе я вызываю функцию ON public function Cache() { var anim:Anim = new Anim(); anim.on(); } } package Framework.cache { public class Anim extends Object { protected static var _instanc:Anim; var tx = 0; public function Anim() { var tx = 1; } function on() { trace(tx); // результат 0 } } } package Framework.cache { public class Anim extends Object { protected static var _instanc:Anim; var tx = 0; public function Anim() { var tx = 1; on() } function on() { trace(tx); // результат 1 } } } Почему когда я запускаю функцию on из класса Сache переменная trace(tx);//результат 0 ? |
|
|||||
во-первых функция on не имеет области видимости, в этом случае по умолчанию используется internal, что дает доступ к ней только из того же пакета, во-вторых Object не может ни посылать, ни принимать события, так как не является наследником EventDispatcher. Собственно, Object это вообще базовый класс. Не нужно писать extends Object так как это вообще смысла не имеет.
Ну и в-третьих, я тут вообще не вижу где события мыши прослушиваются. Мышь может работать только на объектах, которые являются наследниками InteractiveObject |
|
|||||
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
И я не знаю, может вы не специально это делаете, но в конструкторе Anim вы создаёте новую локальную переменную tx и приравниваете её 1, а не переписываете аттрибут tx.
|
|
|||||
Цитата:
|
Часовой пояс GMT +4, время: 20:03. |
|
« Предыдущая тема | Следующая тема » |
|
|