Форум 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=148704)

DZHETIGAPA 09.01.2011 00:10

Непонятное поведение прослушивателей событий
 
Создаю менюшку. На каждую кнопку-менюшку вешаю события и слушатели к ним:
Код AS3:

for (var i:int = 0; i <5; i++ )
                        {
                                var rect:Sprite3D = new Sprite3D();
                            rect.addChild(Lib.massiv[i]);
                                rect.x = -widthMenu / 2+i*125;
                            rect.y = -heightMenu / 2;
                            rectSpr.addChild(rect);
                                rect.buttonMode = true;
 
                                rect.addEventListener(MouseEvent.CLICK, onClick);
                                rect.addEventListener(MouseEvent.MOUSE_OVER, onOver);
                                rect.addEventListener(MouseEvent.MOUSE_OUT, onOut);
 
                        }

А вот и сами методы-слушатели событий:
Код AS3:

private function onClick(e:MouseEvent):void
                {
                        TweenLite.to(e.target, 3, { x: -325 } );
                }
 
                private function onOver(e:MouseEvent):void
                {
                        TweenLite.to(e.target, 1, { z:-150} );
                }
 
                private function onOut(e:MouseEvent):void
                {
                        TweenLite.to(e.target, 1, { z:0} );
                }

При наведении на кнопку-меню Z объекта уменьшается, а при отводе - становится в изначальное положение. То есть все работает. Но как только кликаю по этой кнопке, то если курсор мышки выходит за пределы кнопки - движение к координате x=-325 прекращается. Если же я сопровождаю кнопку курсором, то все нормально, объект перемещается в координату -325. То есть метод-слушатель onClick работает, если курсор мышки наведен на объект-кнопку.

В чем дело7 Кто сможет объяснить.

TanaTiX 09.01.2011 00:28

Цитата:

Но как только кликаю по этой кнопке, то если курсор мышки выходит за пределы кнопки - движение к координате x=-325 прекращается
Правильно, срабатывает onOut.
Сделайте проверку на исходное значение, и если оно не таковое, и при этом мыша уже не задействована - двигайте к исходному состоянию.

DZHETIGAPA 09.01.2011 00:33

Я уже сам дошел. Нужно логическую переменную ввести.

Спасибо!


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

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