События 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, чтобы сделать события жестов.