Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Проблема с листнерами под IOS (http://www.flasher.ru/forum/showthread.php?t=205269)

Маруська 27.11.2013 09:30

Проблема с листнерами под IOS
 
Создала приложение для Ipad. Но возникает проблема. слушатели вызываются по два, не обращая внимания на их удаление в некоторых местах и на условия.
В эмуляторе AIR всё работает отлично и ничего лишнего не вызывается. Но вот на ipad - беда: каша и неразбериха.
Как проблему решать?

Код AS3:

var zoom:Boolean=false;
 
if(Multitouch.supportsGestureEvents){
                        cont.addEventListener(TransformGestureEvent.GESTURE_ZOOM,onZoom);
                        cont.addEventListener(MouseEvent.MOUSE_DOWN, startDraggingX);
                        cont.addEventListener(MouseEvent.MOUSE_UP, stopDraggingX);
                        cont.addEventListener(MouseEvent.MOUSE_DOWN, startDraggingZoomX);
                        cont.addEventListener(MouseEvent.MOUSE_UP, stopDraggingZoomX);
                        }
 
function onZoom(e:TransformGestureEvent):void {
                cont.scaleX *= e.scaleX;
                    cont.scaleY *= e.scaleY;
 
        if (зум произведён на уменьшение){
                zoom=false;
        }
 
        if(зум произведён на увеличение){
                zoom=true;
        }
}
 
function startDraggingZoomX(event:MouseEvent):void
                {       
                        if (zoom==true){
                        cont.addEventListener(MouseEvent.MOUSE_MOVE, moveImageZoomX);}
                }
 
function stopDraggingZoomX(event:MouseEvent):void
                {       
                        cont.removeEventListener(MouseEvent.MOUSE_MOVE, moveImageZoomX)
                }
 
function moveImageZoomX(event:MouseEvent):void
                {
                }
 
function startDraggingX(event:MouseEvent):void
                {if (zoom==false){       
                cont.addEventListener(MouseEvent.MOUSE_MOVE, moveImageX);}
                }
 
function stopDraggingX(event:MouseEvent):void
                {       
                        cont.removeEventListener(MouseEvent.MOUSE_MOVE, moveImageX);
                }
 
function moveImageX(event:MouseEvent):void
                {
                }



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

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