Scrollbar - action a repeter tant que le bouton est enfoncé

Résolu
lapuce87 Messages postés 5 Date d'inscription mardi 25 novembre 2008 Statut Membre Dernière intervention 27 novembre 2008 - 26 nov. 2008 à 14:49
fleurdelys77 Messages postés 3 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 août 2010 - 1 déc. 2009 à 12:49
Bonjour tout le monde,

J'essaye de créer une scrollbar a l aide de 2 boutons (bt_down & bt_up).
Actuellement, j arrive a faire en sorte de monter ou baisser le texte de mon textField du nombre de lignes que je souhaite a un clic (onPress) mais j'aimerais que le texte se déplace tant que le bouton est enfoncé.

Voici le code fonctionnant actuellement :

bt_down.onPress = function () { txtContent.scroll++; }
bt_up.onPress = function () { txtContent.scroll--; }

Merci d'avance pour vos propositions et solutions.

4 réponses

lapuce87 Messages postés 5 Date d'inscription mardi 25 novembre 2008 Statut Membre Dernière intervention 27 novembre 2008
27 nov. 2008 à 09:55
Merci beaucoup :)
J'ai trouvé une solution hier soir avant de quitter le boulot, la voici :

<ol id="code1" class="olcode"><li>// j'initialise 2 variables qui écouteront les boutons
</li><li></li><li>var btnDownPress:boolean false;</li><li>var btnUpPress:boolean false;</li><li>
</li><li>// Je modifie ces 2 dernière en fonction de l'état des boutons
</li><li></li><li>bt_down.onPress function () {btnDownPress true}</li><li>bt_down.onRelease = function () {btnDownPress = false} // sinon il reste sur true à jamais !
</li><li>bt_up.onPress function () {btnUpPress true }</li><li>bt_up.onRelease = function () {btnUpPress = false}</li><li>
</li><li>// .... Et enfin
</li><li>
</li><li>on enterFrame = function() {</li><li>  if(btnDownPress){txtContent.scroll++}</li><li>  if(btnDownPress){txtContent.scroll--}</li><li>}</li></ol>Merci a abais (www.abais-3d.fr) de m avoir aidé a trouver cette solution :)

Merci a toi de m'avoir répondu également.
3
lapuce87 Messages postés 5 Date d'inscription mardi 25 novembre 2008 Statut Membre Dernière intervention 27 novembre 2008
27 nov. 2008 à 09:58
15.  onEnterFrame = function() {

correction du code si dessus :P
petit erreur :)
3
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
26 nov. 2008 à 23:52
bt_down.onPress=baisserScrollBar;
bt_down.onRelease=stopScrollBar;

function baisserScrollBar=function() {
_root.onEnterFrame=function() {
txt.Content.scroll++;
}
}
function stopScrollBar=function() {
delete _root.onEnterFrame;
}
//je te laisse écrire les autres méthodes...

Evite d'utiliser le _root et crée plutôt un clip "moteur".

Sinon tu peux utiliser les setInterval (à savoir que tu es en as2) :

btn.onPress=baisserScrollBar;
btn.onRelease=stopScrollBar;
var idInterval:Number;
function baisserScrollBar() {
idInterval=setInterval(_root,"bougerContent",20,true);
}
function monterScrollBar() {
idInterval=setInterval(_root,"bougerContent",20,false);
}
function bougerContent(b:Boolean) {
txt.Content.scroll+=b?1:-1;
}
function stopScrollBar() {
clearInterval(idInterval);
}
0
fleurdelys77 Messages postés 3 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 août 2010
1 déc. 2009 à 12:49
merci crackter et lapuce87 pour ces réponses
0
Rejoignez-nous