Я работаю над музыкальным плеером, и у меня есть рабочий список воспроизведения, но мне нужен плейлист, чтобы быть коротким, чтобы, если много песен добавлено, оно не выходит за экран. Для этого я создал маску и полосу прокрутки. Названия песен находятся в списке воспроизведения, и новые могут быть добавлены в любой момент времени.Проигрыватель 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);
Извините, что я просто ищу формулу. – MilanSxD
@ user2281425 Здесь вы идете: D http://www.feizsite.com/Sothink/Sothink_SWF_Easy/scrollbar/index.html Не забудьте выбрать мой ответ, чтобы другие получили его в поиске. – Discipol
Когда я загружаю исходный файл, он имеет только файлы .gla. Я понятия не имею, что это такое, и меняя их на .fla, делает их непригодными для использования. – MilanSxD