0

私は長方形のMCを持っています。ユーザーが mc で指をゆっくりと右にスワイプすると、値が増加する必要があり、左に移動すると値が減少します。1~100が限界です。それ、どうやったら出来るの?目に見えるスライダーは必要ありません。指が mc のどこにあるかは関係ありません。指がどちらの方向に動いているかだけです。

編集:私は現在 touchEvent を調べており、解決策について Web を調査しています。

4

1 に答える 1

1

スワイプが発生しているかどうか、発生している場合はどこから開始したかを追跡する必要があります。

var dragging:Boolean = false;
var startX:Number = 0.0;

次に、単純なイベントリスナーを使用して、このブール値を追跡します。

mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
mc.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); 
function mouseDown(event:MouseEvent):void 
{ 
    dragging = true;
    startX = event.localX;
} 
function mouseReleased(event:MouseEvent):void 
{ 
    dragging = false;
}

次に、MOUSE_MOVEタッチイベントですべてのロジックを処理できます。

stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); // Notice this event is on stage, not mc.
function mouseMove(event.MouseEvent):void
{
    value += event.localX - startX;
    if (value < 0) value = 0;
    if (value > 100) value = 100;
}

ハッピーホリデー!

于 2012-12-25T15:59:29.953 に答える