Я пытаюсь создать интерактивный слайдер, в котором при перетаскивании пользователем ползунка высота силуэта увеличивается на некоторое фиксированное значение 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.";
}
}
Спасибо
Khushwant