Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Залипает MOUSE_UP. (http://www.flasher.ru/forum/showthread.php?t=149997)

3p.station 04.02.2011 16:29

Залипает MOUSE_UP.
 
Всем привет!
Подскажите может кто решал такую проблему.
Есть большая битмап - карта (~ 6800x4700) которая лежит в мувике и все это дело в скроллРектангле 1000х800. при нажатии - скроллим ее "перемещая" скроллРект. два лиссенера - на DOWN и UP. Работает приложение в фулскрине - и если отжать кнопку мыши и сделать резкое движение карта продолжает перемещаться - то есть MOUSE_UP срабатывает не сразу.в маленьком режиме все нормально работает. думал трабла фулскрина - нет , так как если просто растянуть всю флешку на экран - таже история. МаусАп срабатывает не сразу...

спасибо за советы и рекомендации :drinks:

nOobCrafter 04.02.2011 16:31

а кто подписан на эти события? stage ?

3p.station 04.02.2011 16:37

на MOUSE_DOWN сам мувик с картой а на UP - сцена

nOobCrafter 04.02.2011 16:52

уточню, stage === сцена? или у вас там какие то внутренние сцены есть?

3p.station 04.02.2011 17:10

прелодаер загружает swf в которой реализована сама карта.
разве у них не одна сцена ?

вот код -
Код AS3:

private function initListeners():void
                {       
                        _map.addEventListener(MouseEvent.MOUSE_DOWN, startRender);
                }
 
                /*                                listeners *!*/
 
                private function stopRender(event:MouseEvent):void
                {
                        stage.removeEventListener(MouseEvent.MOUSE_UP, stopRender);
                        _map.removeEventListener(MouseEvent.MOUSE_MOVE, render);
                }
 
                private function render(event:Event):void
                {
                        if(mouseX > 500 && mouseX < 500 + _map.width        && mouseY > 122 && mouseY < 120 + _map.height)
                        {
 
                                _currentX -= mouseX - _startX;
                                _currentY -= mouseY - _startY;
 
                                _currentX = _currentX < 0 ? 0 : _currentX;
                                _currentX = _currentX > _mapWidth - _map.width ? _mapWidth - _map.width : _currentX;
 
                                _currentY = _currentY < 0 ? 0 : _currentY;
                                _currentY = _currentY > _mapHeight - _map.height ? _mapHeight - _map.height : _currentY;
 
                                _map.scrollRect = new Rectangle(_currentX, _currentY, 970, 776);
                                _startX = mouseX;
                                _startY = mouseY;
                        }
                }
 
                private function startRender(event:MouseEvent):void
                {
                        _startX = mouseX;
                        _startY = mouseY;
                        stage.addEventListener(MouseEvent.MOUSE_UP, stopRender);
                        _map.addEventListener(MouseEvent.MOUSE_MOVE, render);
 
                }



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

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