我正在制作一个音乐播放器并且我有一个工作播放列表,但是我需要将播放列表缩短,这样如果添加了很多歌曲,它就不会出现在屏幕外。 为此,我创建了一个蒙版和一个滚动条。 歌曲名称在播放列表中,并且可以在任何给定时间添加新歌曲。
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位置。
提前致谢,
米兰。
编辑:我忘了添加,第一个名字是Y:20。第二个是Y:40。 Y:60的第三个,等等编辑2: 使用这个公式我很接近,但我总是可以滚动6个名字(120 Y)的空间。
var myY:Number = Playlistslider.playlistSliderHandle.y;
CollectionMC.y = -(myY * (CollectionMC.numChildren / 6));
编辑3:我已将面具和滚动条的高度更改为100以使其更容易。 现在5个名字可以显示在面具内。 当我添加5首歌曲时会出现滚动条,但是当我使用它时它不应该向下滚动,因为所有的歌曲都适合在面具中。 但是当我添加另一个时,我希望它向下滚动到足以显示第6个名称而不是第一个名字。但相反,无论我添加多少首歌,它都会将面具(100)的大小向下滚动,而不管它添加了多少首歌。
编辑4:我找到了解决方案。正确的公式是:CollectionMC.y = (((CollectionMC.numChildren - 5) * -0.2) * myY);
答案 0 :(得分:0)
为什么不使用fl或flex的滚动条?我知道有些人讨厌我提出建议,但他想做的事情很简单,可以忽略......不愉快。你甚至可以按自己喜欢的方式涂抹它!