Action en continu lors d'un passage sur un bouton

Résolu
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008 - 23 août 2005 à 19:10
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008 - 23 août 2005 à 20:41
bonjour,
j'ai besoin d'un conseil a propos du codage de mes boutons. Je réalise 8 boutons capable de déplacer un clip dans des directions différantes. Un exemple, le code du bouton "haut" (_root.carte représente le clip a déplacer):
on (rollOver){
if (_root.carte._y < 0){
_root.carte._y = _root.carte._y + 3;
}
}

Mon probleme est que lorsque je passe sur le boutn une fois, ce code déplace la carte de 3 pixels vers le bas UNE SEULE fois, et moi j'aimerai obtenir quelque chose me déplacant le clip de 3 pixel en 3 pixels tant que je reste sur le bouton et l'effet s'arrete lorsque je sort du bouton.

Si quelqu'un sait, qu'il se fasse connaitre... merci

3 réponses

kingcobra Messages postés 316 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 19 septembre 2012
23 août 2005 à 20:16
salut,

Alors deja, sur un "on(rollOver){}" pas besoin de "_root" tu peux te contenter de "carte._y" ça allège.
Ensuite tu peux faire :

on (rollOver){
carte.onEnterFrame = function (){
if (this._y < 0){
this._y += 3;
}
}
}
on (rollOut){
delete carte.onEnterFrame;
}




mais si je ne m'abuse, ça me parait bisard comme code pour faire monter un clip. moi je ferais plutot this._y -= 3;

ensuite au niveau de ton test (this._y < 0) je mettrai :

(this._y > 0) ou (this._y < la_taille_de_root)

A plus bon courage
3
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
23 août 2005 à 20:17
la méthode onRollOver réalise ton action qu'une seule fois, c-a-d seulement que tu as passé sur ton bouton( c qd mm L'INTERET des boutons non... )
Sinon, mon iD é toute bète.
Tu crée un gestionnaire onEnterFrame ( sur ton bouton par exemple ) dans l'état : onRollOver, et tu le supprime quand tu y sort : delete this.onEnterFrame;

exemple:

on (rollOver){

this.onEnterFrame=function()
{
if (_root.carte._y < 0)
{
_root.carte._y += 3;
}
}

}

on (rollOut){

delete this.onEnterFrame;

}

Voilà

bali_balo....
3
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
23 août 2005 à 20:41
Un grand merci a tout les deux car ca marche et c'est bien l'effet attent... parfait quoi!!
0
Rejoignez-nous