用于缩放轮廓的交互式滑块



我正在尝试构建一个交互式滑块,其中当用户向上拖动滑块时,轮廓的高度会增加一些固定量n,当用户向下拖动滑块时,剪影的高度会减少一些固定量。

面临的问题是,当我缓慢拖动滑块时,一切都可以正常工作,但是当我拖动滑块的速度快于高度时,无法正确增加或减少.我的意思是轮廓高度的增加或减少取决于滑块的速度,我不想要。

这是代码-

var bounds:Rectangle = new Rectangle(499.65,260,0,240);
slider.addEventListener(MouseEvent.MOUSE_DOWN, moveSlider);
stage.addEventListener(MouseEvent.MOUSE_UP, stopSlider);
/*****Function to move slider of height bar*****/
function moveSlider(Event:MouseEvent)
{
slider.startDrag(false,bounds);
stage.addEventListener(MouseEvent.MOUSE_MOVE, changeHeight);
slider.removeEventListener(MouseEvent.MOUSE_DOWN, moveSlider);
stage.addEventListener(MouseEvent.MOUSE_UP, stopSlider);
}

/*****Function to stop slider of height bar*****/
function stopSlider(Event:MouseEvent)
{
slider.stopDrag();
slider.addEventListener(MouseEvent.MOUSE_DOWN, moveSlider);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, changeHeight);
stage.removeEventListener(MouseEvent.MOUSE_UP, stopSlider);
}

/*****Function to increase height & change values in height text box*****/
function changeHeight(Event:MouseEvent)
 {
if(mouseY > 260 && mouseY < 500)
{
d = 500 - mouseY;
var m:Number = d % factor;
model_height.scaleY += .002;
model_height.scaleX += .002;
if (m == 0)
{
    i++;
}
if (i > 11)
{
    f++;
    i = 0;
}
inches = i;
height_bottom_txt.text = f + "ft." + " " + inches + " " + "in.";
}
 }

谢谢胡什万特

MouseEvent.MOUSE_MOVE
更改为
Event.ENTER_FRAME
它更准确地检测那种东西

最新更新