2013-05-15 4 views
0

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

function startDragging2(MouseEvent) 
    { 
     Playlistslider.playlistSliderHandle.startDrag(false,rectangle2); 
     dragging = true; 
    } 

    function stopDragging2(MouseEvent) 
    { 
     if(dragging) 
     { 
      dragging = false; 
      Playlistslider.playlistSliderHandle.stopDrag(); 
     } 
    } 

    function adjustY(Event) 
    { 
     var myY:Number = Playlistslider.playlistSliderHandle.y; 
     CollectionMC.y = (myY * -CollectionMC.numChildren); <-------- 
    } 

Теперь то, что я хочу сделать, это сделать так, чтобы полоса прокрутки ручка определяет положение родительского мувика, который содержит название песен. Если я прокручу вниз, я хочу, чтобы он шел дальше, чем количество песен, которые находятся в списке. Прямо сейчас он прокручивается, но недостаточно, поэтому не весь список показывает.

Мне нужна простая формула, которая решает позицию y родительского мувиклипа относительно положения y маркера ползунка.

Заранее благодарен,

Милан.

EDIT: Я забыл добавить, первое имя находится по адресу Y: 20. Второй в Y: 40. Третий у Y: 60 и т. Д.

EDIT 2: С помощью этой формулы я близок, но я всегда могу прокрутить пробел из 6 имен (120 Y) слишком далеко.

var myY:Number = Playlistslider.playlistSliderHandle.y; 
CollectionMC.y = -(myY * (CollectionMC.numChildren/6)); 

EDIT 3: Я изменил высоту маски и полосу прокрутки на 100, чтобы упростить ее. Теперь в маске могут отображаться 5 имен. Когда я добавляю 5 песен, появляется полоса прокрутки, но она не должна прокручиваться вниз, когда я использую ее, потому что все песни помещаются внутри маски. Но когда я добавляю еще один, я хочу, чтобы он прокрутил вниз, чтобы показать 6-е имя и не увидеть первое имя. Но вместо этого он прокручивает размер маски (100) ниже, чем предполагалось, независимо от того, сколько песен я добавляю.

EDIT 4: Я нашел решение. Правильная формула такова:

CollectionMC.y = (((CollectionMC.numChildren - 5) * -0.2) * myY); 

ответ

0

Почему бы не просто использовать полосу прокрутки или флешку? Я знаю, что некоторые люди ненавидят меня за то, что они предлагают это, но то, что он хочет сделать, достаточно просто, чтобы игнорировать ... неприятность. Вы можете даже обмануть его так, как вам нравится!

+0

Извините, что я просто ищу формулу. – MilanSxD

+0

@ user2281425 Здесь вы идете: D http://www.feizsite.com/Sothink/Sothink_SWF_Easy/scrollbar/index.html Не забудьте выбрать мой ответ, чтобы другие получили его в поиске. – Discipol

+0

Когда я загружаю исходный файл, он имеет только файлы .gla. Я понятия не имею, что это такое, и меняя их на .fla, делает их непригодными для использования. – MilanSxD

Смежные вопросы