0

as3のマルチタッチに関する問題と戦ってきました。ユーザーがステージ上で画像を移動したり(touch_point)、ジェスチャーでズームしたり(ピンチジェスチャ)できるアプリを作成しようとしています。それも可能ですか?

ありがとう!!

4

3 に答える 3

1

これらの関数は、ピンチ、ズーム、およびドラッグを処理します。

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);
于 2012-05-04T07:03:55.223 に答える
1

多分これは役に立つかもしれません

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

基本的なタッチ イベントと同じ方法でジェスチャ イベントを処理します。TransformGestureEvent クラス、GestureEvent クラス、および PressAndTapGestureEvent クラスのイベント タイプ定数によって定義された一連のジェスチャ イベントをリッスンできます。

発生する新しい質問もあります..プレスアンドタップ?スワイプ? http://i.msdn.microsoft.com/dynimg/IC504532.pngそれぞれのグラフィカルな説明

このサイトは素晴らしいです

ビバスタックオーバーフロー!

于 2013-06-01T03:14:04.607 に答える
0

両方を使用する必要はありません。TouchEvent プロパティを使用して簡単に調整を行って、ジェスチャ イベントを作成できます。

于 2013-04-11T23:17:21.890 に答える