在mc的X轴上拖动手指,更改值 - AS3

时间:2012-12-24 20:37:26

标签: actionscript-3 air

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

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

1 个答案:

答案 0 :(得分:1)

您需要跟踪是否正在进行滑动,如果正在进行滑动,则需要进行跟踪。

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

然后你将使用简单的事件监听器来跟踪这个bool。

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;
}

节日快乐!