Интерактивный слайдер для масштабирования силуэта - PullRequest
0 голосов
/ 17 мая 2011

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

1 Ответ

0 голосов
/ 17 мая 2011

изменить

MouseEvent.MOUSE_MOVE
на
Event.ENTER_FRAME
это более точно для обнаружения такого рода вещи
...