Bouton qui ne change pas d'état lors d'un rollout

djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008 - 25 mai 2007 à 12:08
djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008 - 26 mai 2007 à 11:17
Bonjour
je vous expose mon probleme:
J ai créé des boutons en action script avec une fonction pour chaque etat, entre chaque état une interpolation s'effectue.
voila mon code;

function FonctionRollOut()
{
    var Nom = eval(this._name);
    Nom.gotoAndPlay(47);
    }
   

function FonctionRelease()
{
    var Nom = eval(this._name);
    Nom.gotoAndPlay(15);
    LOAD.loadMovie(this._name+"picto.png",50);
}

function FonctionRelease2()
{
    var Nom = eval(this._name);
    Nom.gotoAndPlay(15);
    LOAD.loadMovie(this._name+"picto.png",50);
 
}

this.b2.onRollOver = FonctionRollOver;
this.b2.onRollOut = FonctionRollOut;
this.b2.onRelease = FonctionRelease;

b2 est le nom d'occurence d'un de mes boutons.
Voila, je voudrais que lorsque je click sur un bouton et que je ne click pas sur d'autre, mon bouton reste a l'état onrelease et non rollout.

J'espere que quelqu un pourra m' aider
merci beaucoup

7 réponses

faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
25 mai 2007 à 12:45
Tu te sert d'un boolean pour retenir si tu a cliquer ou pas, puis tu fait un test dans la fonction onrollout pour voir si le bouton est cliqué (donc envoie du boolean...) Si cliqué alors rien sinon tu fait ce que tu veux :)

Au passage t'es ligne :

this.b2.onRollOver = FonctionRollOver;

ca serais pas plutot ??

this.b2.onRollOver = FonctionRollOver ();
0
mdc888fr Messages postés 40 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 23 mars 2009
25 mai 2007 à 12:50
EUUUUUUHHH.... T'aurais pas oublié onRollOver par hasard ? Tu sais flash le connait bien, mais si tu ne lui dit pas, il sait pas...
0
djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008
25 mai 2007 à 12:57
merci pour ta réponse
tu pourrai pas m aider a faire le test stp?
j ai déja essayer et jme suis enmélé les pinceaux je comprenais meme plus cque je faisai...
dans ma fonction FonctionRollOver je met un truc du genre
if(Nom.onRelease==true){???}
else{var Nom = eval(this._name);
    Nom.gotoAndPlay(47);} ?
0
djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008
25 mai 2007 à 13:00
j ai mis rollover mais jme suis planté quand j ai mis le code sur le forum

function FonctionRollOver()
{
    var Nom = eval(this._name);
    Nom.gotoAndPlay(1);
}

function FonctionRollOut()
{
    var Nom = eval(this._name);
    Nom.gotoAndPlay(47);
  
   
}

function FonctionRelease()
{
    var Nom = eval(this._name);
    Nom.gotoAndPlay(15);
    LOAD.loadMovie(this._name+"picto.png",50);

this.b2.onRollOver = FonctionRollOver;
this.b2.onRollOut = FonctionRollOut;
this.b2.onRelease = FonctionRelease;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008
25 mai 2007 à 13:45
Bon, je suis arrivé a faire en sorte qu il ne change pas d'etat quand il est cliqué g rajouté ca ds ma fonction

var OUT:Boolean=false;

function FonctionRollOut()
{
    var Nom = eval(this._name)
    if(Nom.onRelease){OUT=true;}
    else{OUT=false;}
    if(OUT=false){Nom.gotoAndPlay(47);}
    }
mais maintenant le rollout ne s'effectue plus et le onrelease s'effectue sur tout les boutons lorsque je clique, il ne s annule pas...
0
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
25 mai 2007 à 15:22
A la place de :

function FonctionRollOut()
{
var Nom = eval(this._name)
if(Nom.onRelease){OUT=true;}
else{OUT=false;}
if(OUT=false){Nom.gotoAndPlay(47);}
}
}

il serais plus judicieux de mettre :

function FonctionRollOut()
{
var Nom = eval(this._name)
if(Nom.onRelease)
{
OUT=true;
}
else
{
Nom.gotoAndPlay(47);
}
}

Et au passage si tu as mis if(OUT=false){Nom.gotoAndPlay(47);}

=> cette condition et toujours VRAI XD
il faut mettre pour tester et non qui est une affectation :)
0
djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008
26 mai 2007 à 11:17
OK merci
0