#actionscript-3 #components #scrollpane
#actionscript-3 #Компоненты #область прокрутки
Вопрос:
Я использую компонент Flash ScrollPane для хранения вертикальной стопки видеороликов. Я реализовал функциональность, позволяющую пользователю перетаскивать эти видеоролики вверх и вниз по вертикальному стеку, чтобы они могли изменять порядок. Моя проблема возникает, когда пользователь перетаскивает видеоролик в нижнюю часть области прокрутки, я хочу, чтобы содержимое прокручивалось, чтобы пользователь мог опускать перетаскиваемый видеоролик ниже элементов, которые не помещаются в видимую область области прокрутки.
Я попытался автоматически прокручивать панель, увеличивая положение verticalScrollPosition, когда перетаскиваемый видеоролик находится в нижней части панели, но это не работает, поскольку перетаскиваемый видеоролик является частью содержимого области прокрутки и перемещается вместе с остальным содержимым. Перетаскиваемый видеоролик перемещается вверх вместе с остальным содержимым и больше не находится под пользовательским курсором:
private function onDragged (e : Event) : void {
var draggedY : Number = ComponentHolder(e.currentTarget).y;
if(draggedY > this.height - 30 amp;amp; draggedY > this.height - 25){
verticalScrollPosition ;
//e.currentTarget.y ;
}
Возможно, это не лучшее описание моей проблемы, но, надеюсь, вы поняли идею. Если вам нужны какие-либо разъяснения, пожалуйста, дайте мне знать. Я думаю, что мне, возможно, нужно исключить перетаскиваемый видеоролик из «прокручиваемого» содержимого панели, но я не уверен, как это сделать.
Любая помощь приветствуется.
Ответ №1:
Если я вас правильно понял, я могу посоветовать вам два решения:
-
Прокручивайте панель при вращении колесика мыши вместо прокрутки, когда пользователь перетаскивает видеоклип вниз.
-
Удалите видеоклип с панели после того, как начнете его перетаскивать.