Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.01.2013, 02:31
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 1  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
По умолчанию Ползунок отражающий позицию песни

Здравствуйте. Подскажите, пожалуйста.
Есть команда, которая перемещает ползунок (в объекте "шкала времени") в зависимости от того, какая позиция проигрывания у песни (например одна минута — 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 минута.


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


Последний раз редактировалось Dip52; 15.01.2013 в 02:33. Причина: Допустил пару ошибок
Старый 15.01.2013, 07:26
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Гипотетический код:
Код AS3:
соотношение = (положениеПолзунка / общаяДлинаПолоскиПолзунка) // получаем число от 0 до 1, с помощью которого можно расчитать необходимую точку в песне
точкаВоспроизведения = int(общаяДлинаПесни * соотношение);
Примерно так

Старый 15.01.2013, 19:25
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 3  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Гипотетический код:
Код AS3:
соотношение = (положениеПолзунка / общаяДлинаПолоскиПолзунка) // получаем число от 0 до 1, с помощью которого можно расчитать необходимую точку в песне
точкаВоспроизведения = int(общаяДлинаПесни * соотношение);
Примерно так
Спасибо, конечно, но теперь возникла проблема: после того, как я отжимаю ползунок, песня уже воспроизводится не с того места, где был ползунок (то есть ползунок отходит назад на n пикселей или уходит вперед на n пикселей), а немного (иногда много) подальше/ближе (от места отпускания).

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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