Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ползунок отражающий позицию песни (http://www.flasher.ru/forum/showthread.php?t=192502)

Dip52 15.01.2013 02:31

Ползунок отражающий позицию песни
 
Здравствуйте. Подскажите, пожалуйста. :)
Есть команда, которая перемещает ползунок (в объекте "шкала времени") в зависимости от того, какая позиция проигрывания у песни (например одна минута — 20 пиксель).
slider.x = positionSound * width / lengthSound;

Как можно преобразовать эту команду, чтобы получить "обратное" — чтобы позиция песни зависила от позиция ползунка. Например, как сделать так, чтобы когда я перемещал ползунок на 20 пиксель, то воспроизводилась песня с первой минуты? Как воспроизвести я знаю, но вот формулу не могу понять.

Воспроизведение на 1 минуте.
Длина песни 10 минут.
1 минуту умножаем на ширину шкалы времени, потом всё делится на 10 минут.
1 * 40 / 10 = 4.
На 4 пикселе будет находится ползунок.

Положение ползунка = 4;
Ширина временной шкалы = 40;
Длина песни = 10;
Положение песни = n

Формула: Ширина шкалы времени делится на Положение ползунка и потом делится на длину песни.

40 / 4 / 10 = 1

Положение песни = 1 минута.


Я попробовал действовать по такому алгоритму, но он оказался неудачным.
Подтолкните меня в правильную сторону. Спасибо за внимание. :)

caseyryan 15.01.2013 07:26

Гипотетический код:
Код AS3:

соотношение = (положениеПолзунка / общаяДлинаПолоскиПолзунка) // получаем число от 0 до 1, с помощью которого можно расчитать необходимую точку в песне
точкаВоспроизведения = int(общаяДлинаПесни * соотношение);

Примерно так

Dip52 15.01.2013 19:25

Цитата:

Сообщение от caseyryan (Сообщение 1115765)
Гипотетический код:
Код AS3:

соотношение = (положениеПолзунка / общаяДлинаПолоскиПолзунка) // получаем число от 0 до 1, с помощью которого можно расчитать необходимую точку в песне
точкаВоспроизведения = int(общаяДлинаПесни * соотношение);

Примерно так

Спасибо, конечно, но теперь возникла проблема: после того, как я отжимаю ползунок, песня уже воспроизводится не с того места, где был ползунок (то есть ползунок отходит назад на n пикселей или уходит вперед на n пикселей), а немного (иногда много) подальше/ближе (от места отпускания).


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

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