Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Почему главному классу приложения не шлются события мыши (http://www.flasher.ru/forum/showthread.php?t=150516)

rumgot 13.02.2011 05:16

Почему главному классу приложения не шлются события мыши
 
Здравствуйте.
Объясните пожалуйста такой вопрос.
В главном классе приложения, унаследованном от Sprite , рисую окружность таким образом:
Код AS3:

graphics.lineStyle(3, 0x000000);
graphics.beginFill(0xEEEEEE, 1);
graphics.drawCircle(100, 300, 50);
graphics.endFill();

Затем регистрирую приемник:
Код AS3:

addEventListener(MouseEvent.MOUSE_MOVE, mouseListner);

Но при наведении на окружность приемник не вызывается.

А вот если создать окружность в отдельном экземпляре Sprite:
Код AS3:

public var s:Sprite = new Sprite;

Далее в конструкторе:
Код AS3:

s.graphics.lineStyle(3, 0x000000);
s.graphics.beginFill(0xEEEEEE, 1);
s.graphics.drawCircle(100, 300, 50);
s.graphics.endFill();
addChild(s);
addEventListener(MouseEvent.MOUSE_MOVE, mouseListner);

То теперь при наведении приемник вызывается.
Почему так происходит?

goodguy 13.02.2011 08:52

Почему используется MouseEvent.MOUSE_MOVE ?

Здесь нужно использовать MouseEvent.ROLL_OVER или MouseEvent.MOUSE_OVER

in4core 13.02.2011 12:04

Goodguy. Это все понятно, однако вопрос интересный. Гуру объясните в чем косяк то?!

cleptoman 13.02.2011 12:53

Видимо, по-тому, что рут просто редиспатчит мышинные события детей.

это показывают нам свойства e.target и e.currentTarget в случае с

Код AS3:

s.graphics.lineStyle(3, 0x000000);
s.graphics.beginFill(0xEEEEEE, 1);
s.graphics.drawCircle(100, 300, 50);
s.graphics.endFill();
addChild(s);
addEventListener(MouseEvent.MOUSE_MOVE, mouseListner);



Часовой пояс GMT +4, время: 23:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.