Action en continu lors d'un passage sur un bouton [Résolu]

Signaler
Messages postés
209
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2008
-
Messages postés
209
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2008
-
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

Messages postés
316
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
19 septembre 2012

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
Messages postés
1378
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
1
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....
Messages postés
209
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
27 janvier 2008

Un grand merci a tout les deux car ca marche et c'est bien l'effet attent... parfait quoi!!