0

我有一个矩形 mc。当用户在mc上慢慢向右滑动手指时,需要增加一个值,如果向左移动,它会减少。1到100是极限。我怎么做?我不想要一个可见的滑块。手指在 mc 上的哪个位置无关紧要,只要手指在哪个方向移动即可。

编辑:我目前正在研究 touchEvent 并正在研究网络以寻找解决方案。

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 回答