valou819
Messages postés7Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention 4 décembre 2007
-
3 déc. 2007 à 16:55
cs_embalmer
Messages postés120Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention10 décembre 2007
-
4 déc. 2007 à 18:31
Question un peu étrange, mais je n'arrive pas à simplement faire jouer le frame 1 d'un movie clip contenu dans un second movie clip.....
exemple:
CosmetiqueSub_mc.Cosme01_btn.onRelease = function() {
prod_contenus_mc.cosmetique_cont_mc.gotoAndStop(1); <-----ici ça ne fait rien :(
FermeSMCosmetique();
}
Quelqu'un peut m'aider! ça doit être hyper simple, mais je ne vois plus rien à force de travailler longtemps sur un même projet hihi
cs_embalmer
Messages postés120Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention10 décembre 2007 3 déc. 2007 à 21:35
Slt,
En fait lorsque tu utilise un gestionnaire d'évènement du type onRelease, le mot clé this fait référence à l'objet qui fait utilise cet évènement, dans ton cas le bouton "Cosme01_btn". Il y a un moyen facile de savoir à quel "niveau" tu te trouve, c'est d'utiliser un simple trace(this);
Malheureusement tu ne pourra pas utiliser de chemin relatif
du type _parent._parent.prod_contenus_mc.cosmetique_cont_mc.gotoAndStop(1); // Ne marchera pas
En revanche 2 moyens s'offre à toi utiliser le mot clé _root
ou alors en utilisant une variable pour faire réfence à la racine (surtout utile lors de la création de classe personnalisée, mais ça c'est un autre sujet).
var racineAnim:MovieClip = this; // fait réfrence au level0 si on est effectivement au level0.
CosmetiqueSub_mc.Cosme01_btn.onRelease = function() {
racineAnim.prod_contenus_mc.cosmetique_cont_mc.gotoAndStop(1);
FermeSMCosmetique();
}
valou819
Messages postés7Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention 4 décembre 2007 4 déc. 2007 à 14:26
je ne saisi pas pourquoi je dois partir de la racine...si je suis dans le movie clip juste avant ceux que j'appelle, il n'y a pas de problème habituellement ? C'est pour le trace que je dois faire ça ?
Et pour avoir le bon niveau, j'ai meme utiliser l'outil qui pointe vers l'objet que j'ai besoin (la petite cible là...il me mettait un this justement) et ça ne fonctionnait pas (je ne met quasiment pas de this normalement et ça fonctionne très bien d'habitude) mais là, avec ou sans, il ne faisait rien ce bouton (en fait, quand je testais l'animation..je n'ai pas essayé de faire un trace par contre pour voir ce qui se passait...)
cs_embalmer
Messages postés120Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention10 décembre 2007 4 déc. 2007 à 18:31
en fait tu n'est pas obligé de partir de la racine, tu peux par exemple dans une variable stocker une réferénce au clip que tu veux modifier, du moment que tu n'est pas dans le gestionnaire d'évènement.
En générale je stocke la racine car cela me permet de pouvoir à partir d'un seule variable, accéder à tous les clips.
Perso je déconseille l'utilisation de l'outil de ciblage des clips pour 2 raisons :
<li>Comme tu viens de t'en rendre compte il ne prend pas en compte toutes les contraintes liés au script.</li><li>Il est important pour le dévelloppeur de connaitre la hiérarchie de ses objets (dans le cas de flash les movieClip le + souvent)</li>nb : Oublie ce que j'ai dis sur le trace, en effet ça ne colle pas au problème... halala c'est ça de répondre trop vite