Форум 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() по какой-нибудь кривой? (http://www.flasher.ru/forum/showthread.php?t=111831)

Slayer333 09.05.2008 02:34

Как перемещать ползунок с помощью startDrag() по какой-нибудь кривой?
 
Я знаю что область перемещения при помощи метода startDrag() задаётся прямоугольником, можно задать область так, что бы ползунок перемещался, например, по дуге окружности, а не по прямой?

iNils 09.05.2008 02:36

Только формулой. По onMouseMove, а не startDrag

Slayer333 09.05.2008 02:47

Я этой функцией ни разу не пользовался, она от startDrag() сильно отличается?

Kuruki 09.05.2008 03:24

Почему только формулой? Можно сделать клип, в котором ползунок перемещается по кривой(направляющей), поставить на каждый кадр stop. Потом, при нажатии на нем, отслеживать движение мыши (вправо-влево) и перемещаться на кадр вперед/назад.

iNils 09.05.2008 03:31

По окружности лучше по формуле, а вот по произвольной прямой конечно надо делать именно так.

Slayer333 09.05.2008 03:31

Пример кода привести можешь?

Kuruki 09.05.2008 04:08

Вложений: 1
Вот простейший пример. Вам конечно придется его доработать. Мне уже некогда, я спать хочу:boredom:

Роман Вадимович 09.05.2008 13:41

Вложений: 1
Вот доработанный пример

Slayer333 10.05.2008 03:19

Спасибо, вам, очень помогли!

zveryuka 29.09.2008 14:57

Вложений: 1
вот пытаюсь с помощью этого кода сделать небольшую прокрутку графика.

Код:

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;
  }
}

но в начале как начинаеш двигать полоску она прыгает в перед. Как можно сделать плавную прокрутку мувиклипа при движении красной полоски?:(

Есть пример.

dimarik 30.09.2008 02:03

Гм. Мой Flash CS3 не открывает Ваш fla-файл. Но по результатам декомпилирования могу предложить что все дело в этом:
Код:

this._parent.gotoAndStop(Math.round(_root._xmouse / 5.500000E+000));

zveryuka 30.09.2008 12:07

Вложений: 1
ууу я извиняюсь: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


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

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