Просмотр полной версии : Как перемещать ползунок с помощью startDrag() по какой-нибудь кривой?
Slayer333
09.05.2008, 02:34
Я знаю что область перемещения при помощи метода startDrag() задаётся прямоугольником, можно задать область так, что бы ползунок перемещался, например, по дуге окружности, а не по прямой?
Только формулой. По onMouseMove, а не startDrag
Slayer333
09.05.2008, 02:47
Я этой функцией ни разу не пользовался, она от startDrag() сильно отличается?
Почему только формулой? Можно сделать клип, в котором ползунок перемещается по кривой(направляющей), поставить на каждый кадр stop. Потом, при нажатии на нем, отслеживать движение мыши (вправо-влево) и перемещаться на кадр вперед/назад.
По окружности лучше по формуле, а вот по произвольной прямой конечно надо делать именно так.
Slayer333
09.05.2008, 03:31
Пример кода привести можешь?
Вот простейший пример. Вам конечно придется его доработать. Мне уже некогда, я спать хочу:boredom:
Роман Вадимович
09.05.2008, 13:41
Вот доработанный пример
Slayer333
10.05.2008, 03:19
Спасибо, вам, очень помогли!
zveryuka
29.09.2008, 14:57
вот пытаюсь с помощью этого кода сделать небольшую прокрутку графика.
polzunok_mc.drag_mc.onPress = function() {
this.onMouseMove = function()
{
this._parent.gotoAndStop(Math.round(_root._xmouse/5.5));
updateAfterEvent();
}
this.onReleaseOutside = this.onRelease = function()
{
delete this.onMouseMove;
delete this.onReleaseOutside;
delete this.onRelease;
}
}
но в начале как начинаеш двигать полоску она прыгает в перед. Как можно сделать плавную прокрутку мувиклипа при движении красной полоски?:(
Есть пример.
Гм. Мой Flash CS3 не открывает Ваш fla-файл. Но по результатам декомпилирования могу предложить что все дело в этом: this._parent.gotoAndStop(Math.round(_root._xmouse / 5.500000E+000));
zveryuka
30.09.2008, 12:07
ууу я извиняюсь:confused: я перешел на Flash cs4 - и забыл перевести в cs3 для того чтоб другие посмотрели...
Но по результатам декомпилирования могу предложить что все дело в этом:
this._parent.gotoAndStop(Math.round(_root._xmouse / 5.500000E+000));
наверно ка вы знаете декомплир иногда или добавляет своего, или чтонибудь не докомпилирует:).
по настоящему эта часть кода this._parent.gotoAndStop(Math.round(_root._xmouse / 5.500000E+000));
выглядит так this._parent.gotoAndStop(Math.round(_root._xmouse / 5.5));
насколько я понял эта строка считывает координаты мыши и они эквивалентны положению бегунка на графике, Но дилема в том чтобы считывались коорд мыши только в приделах мувиклипа графика,а не по всей рабочей области?
ВОТ ПРИЛОЖИЛ Примеры ДЛЯ CS3 flash
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.