Come si dice a ScrollPane di scorrere verso l'alto o verso il basso usando ActionScript?
-
04-07-2019 - |
Domanda
Voglio innescare un evento che fa scorrere ScrollPane verso l'alto o verso il basso.
Idealmente, ScrollPane dovrebbe scorrere continuando a scorrere su o giù, a meno che non venga annullato da un altro evento.
Soluzione
Sarebbe qualcosa del genere:
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;
}
Dovrai controllare _hmax e _vmax per assicurarti di non scorrere oltre la fine del contenuto, dove la barra di scorrimento si fermerebbe naturalmente. Non ricordo dalla parte superiore della mia testa quali siano i nomi di queste variabili, ma se esegui il tuo programma in modalità debug e cerchi nell'istanza scrollpane, dovresti trovarlo. Probabilmente sarà più semplice se sposti la barra di scorrimento integrata in basso e vedi quale variabile cambia, quindi trova quella che corrisponde ed è statica.