Как вы говорите ScrollPane для прокрутки вверх или вниз с помощью ActionScript? - PullRequest
0 голосов
/ 23 октября 2008

Я хочу вызвать событие, которое заставляет ScrollPane начать прокрутку вверх или вниз.

В идеале ScrollPane будет продолжать прокручивать все время вверх или вниз, если не отменено другим событием.

1 Ответ

2 голосов
/ 04 января 2009

Было бы что-то вроде этого:

this.createClassObject(mx.containers.ScrollPane, "my_sp", 10);
my_sp.setSize(360, 280);
this.createEmptyMovieClip("button_up",this.getNextHighestDepth());
this.createEmptyMovieClip("button_down",this.getNextHighestDepth());
this.createEmptyMovieClip("button_left",this.getNextHighestDepth());
this.createEmptyMovieClip("button_right",this.getNextHighestDepth());

button_up.onPress=function(){
     my_sp.onEnterFrame=function(){
          this.vPosition -= 5;
     }
}

button_down.onPress=function(){
     my_sp.onEnterFrame=function(){
          this.vPosition += 5;
     }
}
button_left.onPress=function(){
     my_sp.onEnterFrame=function(){
          this.hPosition -= 5;
     }
}

button_right.onPress=function(){
     my_sp.onEnterFrame=function(){
          this.hPosition += 5;
     }
}

//replace this with whatever event you want to use to make the scrolling stop
button_right.onRollOut = button_left.onRollOut = button_up.onRollOut = button_down.onRollOut = function(){
      my_sp.onEnterFrame=undefined;
}

Вам нужно будет проверить _hmax и _vmax, чтобы убедиться, что вы не прокручиваете до конца содержимого, где полоса прокрутки естественным образом останавливается. Я не помню, как называются эти переменные, но если вы запускаете свою программу в режиме отладки и копаетесь в экземпляре scrollpane, вы должны найти его. Вероятно, будет проще, если вы переместите встроенную полосу прокрутки вниз и посмотрите, какая переменная изменится, а затем найдете ту, которая соответствует и является статической.

...