События TOUCH_POINT и GESTURE в то время в as3

Я боролся с проблемой касания мультитача в as3. Я пытаюсь создать приложение, в котором пользователь должен иметь возможность перемещать изображение по сцене (touch_point), а также увеличивать его с помощью жестов (жест щипка). Это вообще возможно?

Спасибо!!

3 ответа

МОЖЕТ, это может быть полезно

http://help.adobe.com/en_US/as3/dev/WS1ca064e08d7aa93023c59dfc1257b16a3d6-7ffd.html

Обрабатывать события жестов так же, как основные события касания. Вы можете прослушать серию событий жестов, определенных константами типов событий в классе TransformGestureEvent, классе GestureEvent и классе PressAndTapGestureEvent.

также возникает новый вопрос.. нажмите и нажмите? красть? http://i.msdn.microsoft.com/dynimg/IC504532.png графическое объяснение каждого

этот сайт потрясающий

Viva Stackru!

Эти функции будут обрабатывать увеличение, масштабирование и перетаскивание.

import flash.events.GestureEvent;
import flash.events.TransformGestureEvent;
import flash.events.GesturePhase;
import flash.events.Event;
import flash.events.MouseEvent;

function fl_ZoomHandler (e:TransformGestureEvent):void {
e.target.scaleX *=  e.scaleX;
e.target.scaleY *=  e.scaleY;

if (e.phase==GesturePhase.END) {
        e.currentTarget.stopDrag();
    }

}


function fl_StartDrag (e:MouseEvent):void {
e.currentTarget.startDrag (false);
theDragItem = e.currentTarget;
}


function fl_StopDrag (e:MouseEvent):void {  
e.currentTarget.stopDrag();
}


function fl_RotateHandler (e:TransformGestureEvent):void {
e.target.rotation +=  e.rotation;

if (e.phase==GesturePhase.END) {
        e.currentTarget.stopDrag();
    }
}

И это слушатели событий, которые применяются к элементу, на который вы хотите повлиять.

YOUROBJECT.addEventListener(MouseEvent.MOUSE_DOWN, fl_StartDrag, false, 0, true);
YOUROBJECT.addEventListener(MouseEvent.MOUSE_UP, fl_StopDrag, false, 0, true);
YOUROBJECT.addEventListener(TransformGestureEvent.GESTURE_ZOOM, fl_ZoomHandler, false, 0, true);
YOUROBJECT.addEventListener(TransformGestureEvent.GESTURE_ROTATE, fl_RotateHandler, false, 0, true);

Не беспокойтесь об использовании обоих, вы можете легко внести некоторые изменения в свойства TouchEvent, чтобы сделать события жестов.

Другие вопросы по тегам