On(rollOut) pour boutons cote a cote

Résolu
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 - 27 sept. 2006 à 15:52
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 - 27 sept. 2006 à 18:09
Bonjour à tous!

Je suis en train de céer une animation avec une image de fond. Lorsque la souris passe sur certaines partie de cette image, un texte (différent pour chaque parties) apparait dans un endroit donné, et lorsque la souris n'est plus sur cette partie, le texte s'efface.

Voilà comment je m'y suis pris :
- Une image de fond,
- Des boutons sur les parties voulues et de la forme voulue,
- Des animations pour l'apparition des textes.

Sur la première frame, je mets un 'stop();'

Ensuite de la frame 5 à la frame 20, l'animation du texte qui aparait pour la partie 1.
De la frame 25 à 40, l'animation du texte qui apparait pour la partie 2.
De la frame 45 à 60, l'animation du texte qui apparait pour la partie 3.

Pour chaque animation, sur la dernière frame je mets un 'stop();'

Enfin, pour chaque bouton, je mets le script suivant :

on(rollOver)
{
gotoandplay(N° frame correspondant au bouton);
}

on(rollOut)
{
gotoandplay(1);
}

Voici mon problème :
Certaines parties sont côte à côte. Je peux donc passer d'un bouton à l'autre directement.
Le problème est que lorsque cela se produit, le premier texte s'efface, mais le deuxième texte n'apparait pas.
En gros, le 'gotoandplay(1);' est exécuté (rollOut du premier bouton) mais ne prend pas en compte le 'rollOver' sur le deuxième bouton.
Il se passe la même chose sur 2 boutons éloignés mais sur lesquels on passe rapidement de l'un à l'autre.

Qq1 aurait-il une solution ou au moins une approche pour que les animations se fasse correctement pour le passage d'un bouton sur l'autre?

Existe-t-il une méthode ou propriété pour détecter si la souris est sur tel ou tel bouton?

Merci d'avance pour votre aide et vos réponses.

A bientôt

3 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
27 sept. 2006 à 16:25
Bonjour,

place tes animations de textes dans des clips

chaque clip se compose : 

frame 1 : stop et pas de texte
d'une animation apparition  du texte(un stop au bout) et une animation disparition
un label "FadeIn" au demarrage du texte qui apparait et un label "FadeOut" au démarrage du texte qui disparait
Place tes clips sur la scene à l'endroit voulu, donne leur un nom d'instance genre ClipTexte01
Et tu change le code de tes boutons comme suit :

on(rollOver)
{
_root.ClipTexte01.gotoandplay("FadeIn");
}

on(rollOut)
{
_root.ClipTexte01.gotoandplay("FadeOut");
}

A vot' service

Jo
3
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 2
27 sept. 2006 à 17:26
Merci pour la rapidité de la réponse.

J'ai essayé ta méthode mais cela ne marhe pas pour moi...
Je pense avoir bien retranscrit tes indications.

Exemple pour le bouton "vert" :

Animation principale :
Une succession de calques mais avec une seule frame et pas de script.

Script du bouton vert (dans le calque BoutonVert) :
on(rollOver)
{
 _root.TexteVert.gotoandplay("FadeIn");
}


on(rollOut)
{
 _root.TexteVert.gotoandplay("FadeOut");
}

Animation TexteVert (nom de l'animation et nom de l'instance dans le calque AnimTexteVert) :

- calque 1 (scripts) :         . Frame1 : Script stop(); | Image FadeOut         . Frame2 : Script rien | Image FadeIn         . Frame17: Script stop(); | Image rien

- calque 2 (masque) :
         . Frame1 : rien
         . Frame2 : Masque en haut avec interpolation forme
         . Frame17 : Masque en bas

- calque 3 (texte) :
         . Frame1 : rien
         . Frame2 : texte
         . Frame17 : texte


J'ai fait la même chose pour les autres boutons mais lorsque je passe ma souris sur l'un des boutons, rien ne se passe...

Merci d'avance!
0
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 2
27 sept. 2006 à 18:09
Autant pour moi...

Il faut bien évidemment écrire 'gotoAndPlay' et non pas 'gotoandplay'...

Voilà! Mea Culpa! Et merci!

 
0
Rejoignez-nous