Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   StartDrag, onMouseMove и скорость. (http://www.flasher.ru/forum/showthread.php?t=111415)

zashi 25.04.2008 04:35

StartDrag, onMouseMove и скорость.
 
Товарищи flash-разработчики, помогите найти способ решения теоретически простой задачи:

Нужно сделать горизонтальную шкалу с бегунком, при "on (Press)" перемещающимся по _x "скачками" по "n"(например 10) пикселей (что-то вроде симуляции залипания), в пространстве фиксированной ширины.

Что лучше использовать в данной ситуации, StartDrag или onMouseMove?
Как реализовать контроль "скорости" бегунка при использовании того или иного способа.

Заранее спасибо.

Vertax 25.04.2008 14:03

Ну что то типа того
Код:

mc.onPress = function ()
{
        mc.pressX = this._xmouse; //Место клика мыши
        this.onMouseMove = function ()
        {
                //Собственно двигаем
                this._x = Math.floor((_xmouse - this.pressX) / 10) * 10;
        }
}

mc.onRelease = mc.onReleaseOutside = function ()
{
        //Перестаем двигать
        delete this.onMouseMove;
}


zashi 26.04.2008 21:47

Спасибо огромное, Vertax, оптимальный вариант.
Вот только у меня теперь другого рода проблема. Как в данном случае задать границы области, в которой допустимо движение по иксу? То есть, сделать так, чтобы состояние "onPress" сохранялось, но бегунок переставал двигаться вправо или в лево (соответственно) у левого или правого края шкалы.

crc 26.04.2008 21:57

Цитата:

Сообщение от zashi (Сообщение 735766)
Спасибо огромное, Vertax, оптимальный вариант.
Вот только у меня теперь другого рода проблема. Как в данном случае задать границы области, в которой допустимо движение по иксу? То есть, сделать так, чтобы состояние "onPress" сохранялось, но бегунок переставал двигаться вправо или в лево (соответственно) у левого или правого края шкалы.

Область движения ограничивайте простыми ИФами:)

zashi 26.04.2008 22:25

Разобрался, всем спасибо ;-)


Часовой пояс GMT +4, время: 21:00.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.