AS3 - 在Scrollpane中拖动项目

时间:2011-04-18 09:11:46

标签: actionscript-3 components scrollpane

我正在使用Flash ScrollPane组件来保存动画片段的垂直堆栈。我已经实现了允许用户在垂直堆栈中上下拖放这些动画片段的功能,以便他们可以重新排列顺序。我的问题发生在用户将一个动画片段拖到滚动窗格的底部时,我希望内容滚动,以便用户可以将拖动的动画片段放在不适合滚动窗格的可视区域的项目下面。

当拖动的动画片段朝向窗格底部时,我尝试通过递增verticalScrollPosition来自动滚动窗格,但这不起作用,因为拖动的动画片段是滚动窗格内容的一部分并随其余部分移动的内容。拖动的动画片段随着其余内容向上移动,不再位于用户光标下:

        private function onDragged (e : Event) : void {
          var draggedY : Number = ComponentHolder(e.currentTarget).y;           

          if(draggedY > this.height - 30 && draggedY > this.height - 25){
            verticalScrollPosition ++;
            //e.currentTarget.y ++;
        }   

可能不是我问题的最佳描述,但希望你能得到这个想法。如果您需要任何澄清,请告诉我。我想我可能需要从窗格的“可滚动”内容中排除拖动的动画片段,但我不知道该怎么做。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,我可以建议你两个解决方案:

  1. 当鼠标滚轮旋转时滚动窗格,而不是在用户将影片剪辑拖动到底部时滚动窗格。

  2. 开始拖动后,从窗格中删除影片剪辑。