Bouton qui reste dans l'état "on (rollOver)

Résolu
aarb Messages postés 4 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 19 août 2007 - 23 juin 2007 à 12:17
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011 - 24 juin 2007 à 19:50
slt, je suis novice et j'ai un petit souci pour l'animation d'un bouton, por lexemple je le nomerai "Home"
je vous explique:
pour creer mon bouton, j'ai 3 calques,

dans le premier que je nome home je place une image png du mot home préalablement fait sur photoshop, que je transforme en clip et que je nome "Home_mc", en occurence je le nome "Home".
A linterierur du clip "Home_mc" je crèer un 2ème calque et j'y place un cadre, kquelques petites interpolation et effets plus tard jobtien mon cadre qui apparait au fur et a mesure tandis que le mot home change de couleur. jusqu'ici pas de souci!!!

dans le second calque , nomé I.B.H pour, bouton invisible h, sur la scene principale, je crèer une zone avec l'outil rectangle par dessu le mot home, que je transforme en bouton et que j'appele I.B.H et en nom d'occurence pareil.
dans la premiere frame de mon bouton sur la scène principale je mets ce scripte:

on (rollOver) {
_root.mouse_over_Home = true ;
}
on (rollOut) {
_root.mouse_over_Home = fstartlse ;
}
on (release) {
gotoAndPlay ("Home",1) ;

}

et dans la premiere frame du 3ème calque que j'ai appelé "prog", je place cet autre scripte:

_root.Home.onEnterFrame = function () {
if  (mouse_over_Home) {
_root.Home.nextFrame () ;
} else {
_root.Home.prevFrame () ;
}
}

voila

Tout se passe bien, quand je survole le bouton avec la sourie l'animation se produit correctement,
le clic fonctionne , mais le hic c'est  que lorsque la séquence home se charge le bouton home restes en position survole de la sourie et je dois repasser la souri dessus pour qu'il se remette dan son etat repos!!!!

Aidez moi s'il vous plait, car cey insignifiant petit détail m'empèche de mettre mon site en ligne, merci de me répondre assez URGEMENT, et pour une question de rapidité, je vous laisse mon adresse:

lill_dogg@hotmail.com

6 réponses

Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 1
24 juin 2007 à 13:53
Salut,

Je ne suis franchement pas sûr du tout d'avoir bien saisi ce que tu as fait mais je vais quand même essayer de répondre.

Je pense que le problème dans ton cas est que lorsque tu clic sur le bouton, tu ne dis pas correctement à ton animaiton de se réinitialiser :
on (release) {
    gotoAndPlay ("Home",1) ;
}

Tu lui demandes bien de se remettre à la frame 1.
Mais y a t il un stop() sur cette frame ?
Ton clip est il bien ciblé ?

Pour savoir si le ciblage est correct et que l'anim se bloque bien à la première frame, voici ce que tu pourrais faire :
on (release) {

    Home.gotoAndStop (1) ;
    // J'écris le code : clip.action(parametre) car je trouve ça plus lisible, mais ta version fonctionne aussi à condition que tu mettes bien gotoAndSTOP
   trace("vérification du ciblage du clip home : " + Home);

}

Normalement le gotoAndStop bloquera ton anim même si elle n'a pas de stop en première frame et le trace te dira si ton clip est correctement ciblé (ce dont je doute)
En effet, je pense que le problème vient de ton ciblage car si ton clip est sur le root comme le dit ta ligne "_root.Home.nextFrame () ;" , tu ne peux pas appeler le même clip au sein de l'évenement on(release) d'un bouton comme tu le fait "gotoAndPlay ("Home",1) ;"

Pour éviter ce genre de soucis, deux choses :
    1. abandonne le ciblage absolu, abandonne les root
    2. abandonne l'utilisation des évenements  on()

En espérant avoir pu t'aider.

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
3
aarb Messages postés 4 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 19 août 2007
24 juin 2007 à 18:18
Salut Darkdrafts

merci de t'etre penché sur mon cas! j'ai essayé ce que tu ma conseillé sans résultat, le bouton n'a aucune action avec ton scritp, la séquence ne change pas, :(

Et, oui, il y a un stop(); à la première frame de la séquence "Home", mais avec mon scripte, l'action du bouton est bien effectuée, je vais bien à la frame 1 de la séquence "Home" mais une fois sur cette séquence, c'est comme ci le bouton gardais en mémoire la trace de la sourie "on (rollOver)"!!!

il suffit de repasser la sourie dessus et le bouton repren son état repos, et c'est pa très estéthique..

Autres suggestions, je te rappele quand même que je paratique flash 8 depuis tout juste 2 mois et en autodidacte, donc c'est un peu chaud pour moi, donc merci d(etre patient avec moi....

Amicalement aar'b
3
aarb Messages postés 4 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 19 août 2007
24 juin 2007 à 18:33
Milles excuses "Darkrats"  , je viens de m'apercevoir que j'ai gravement écorché ton nom, lol sans rancunes, et pour le ciblage la réponse est "undifined"
3
Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 1
24 juin 2007 à 18:40
Salut,

Ok, pour le problème de mon code, c'est logique. Je n'avais pas percuté que c'était une séquence et non un clip.

Tu es novice autodidacte ?
Mais où allez vous chercher l'utilisation de ces foutues séquences ?
Tu devrais aussi lire ceci alors : Séquence, c'est source de bug 

Je comprends franchement pas pourquoi tout le monde s'obstine avec ces trucs ... c'est pas pour être désobligeant, mais j'ai aussi appris Flash en autodidacte et je n'ai jamais utilisé les séquences. 
L'attrait des séquences restent pour moi un grand mystère

Pour faire encore plus mon "vieux qui râle alors qu'il est tout jeune"
Je te dirais bien que si tu débutes, c'est une raison de plus de lire attentivement les liens que je t'ai envoyés. En effet, c'est pas de principes ultra complexes, c'est au contraire une manière de coder. Et plutôt que d'apprendre à coder "brouillon" et puis seulement apprendre les bonnes pratiques, ca serait plus facile de prendre directement le bon coup de main.

Enfin c'est que mon humble avis

Sinon, pour pas qu'on dise que je n'ai posté que pour rouscailler (désolé que ça soit tombé sur toi, mais vu le nombre de post sur les séquences, ça m'agassait un peu ... donc toutes mes excuses)
Je ne peux pas t'aider pour ton problème de séquences vu que je ne les utilise jamais. Par contre, si tu comptes changer de principe, sache que les séquences peuvent très aisément se convertir en clip :
Tu crée un clip par séquence et tu mets les clips dans les différentes frame du root. Ca simule les séquences tout en pouvant aisément interférer entre elles. C'est cette méthode que j'utilise dans mes projets.

Si jamais, tu comptes changer, là, je pourrai t'aider. Mais pour les séquences, là, je n'ai pas la moindre idée du problème.

Sorry et courage

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
3

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

Posez votre question
Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 1
24 juin 2007 à 18:43
Pas grâve pour le nom, j'avais même pas remarqué ^^

Ton ciblage est undefined ? Alors au moins je n'aurai pas été totalement inutile, t'as trouvé le problème. Reste à le résoudre.

As tu déjà essayé de retirer les " " dans le nom et de mettre le root ?
gotoAndPlay (_root.Home,1) ;

Je n'en sais pas plus sur l'utilisation des séquences, essaie de trouver des exemples, ça doit pulluler sur le forum

Sorry encore pour la prise de tête

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
3
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
24 juin 2007 à 19:50
Le peu de fois ou j'ai utiliser les séquences (pas eu de bug avec ;) ) j'appelais le nom de la keyframe comme si elle était dans la meme séquence...

> gotoAndStop ('NomDelaSéquence');

Enjoy
Don't forget accept
3
Rejoignez-nous