Bouton ds clip appel clip qui appel au autre swf

Résolu
christ_l Messages postés 6 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 9 août 2011 - 14 avril 2008 à 02:05
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011 - 15 avril 2008 à 09:51
Bonjour,
désolée car je suis super débutante.
Je sais que c'est un problème de cible car lorsque je sort le bouton du clip B le lien fonctionne. j'explique :
Je vais essayer d'être claire :
dans mon animation principal J'ai
placé un bouton (A) : on (release) {gotoAndStop(10);ani.removeMovieClip();}
-> clip 1 (soucy_mc) (sur frame10)
dans clip 1 (soucy_mc) : j'ai un clip 2 (soucy_menu) dans lequel se trouve le bouton (B) : on (release) {
attachMovie("animation", "ani", 1);
ani._x = 230;
ani._y = 210;
ani.couleur = "atl237_soucygalerie4";}
le bouton B appel le clip 3 (animation) qui pointe vers un .swf externe voici le code du clip 3 (animation) : stop();
var myMCL = new MovieClipLoader();
myMCL.loadClip(couleur + ".swf",this);

(remarque : le clip 3 n'est placé sur aucune frame, et existe ds la bibliothèque
remarque : j'ai une succession de clip car les menu sont animés)

Donc le problème est que lorsque mon btn B est sur un calque de l'anim principal il ouvre bien le .swf via le clip 3 (animation)et dès que je mets ce btn B dans le clip 2 il ne fonctionne plus et j'ai ce message d'erreur : Error opening URL "file:///F|/SITE%20ATL237/Site%5FAtelier237%2Bgalerie/undefined.swf"

J'espère que c'est assez compréhensible.
en espérant avoir une solution, merci d'avance.
Christelle.

4 réponses

dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
14 avril 2008 à 18:22
Salut!

Je ne suis pas sûr d'avoir très bien saisi ton problème mais je vais tenter de t'aider..

Visiblement, grâce au message d'erreur que tu as donnée, le soucis proviendrait simplement de la variable "couleur".

Et à mon humble avis, c'est un problème de domaine. C'est à dire qu'une fois ton bouton B dans le clip 2, il ne connait tout simplement plus la variable "couleur" (car tu l'as nommé en propriété d'animation)

2 solutions :
- méthode hardcore : tu nomme ta variable "couleur" en variable globale, et donc accessible à partir de n'importe où ( _global.couleur = "..."; )
- ou encore : tu déclares ta variable dans le même domaine que ton bouton (en occurence, sur le même calque.)

Voilou, dis m'en plus qu'en t'auras testée ^^
3
christ_l Messages postés 6 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 9 août 2011
14 avril 2008 à 20:03
Salut,

Super ça fonctionne !!! enfin presque...
J'ai bien mis le code _global.couleur = "..."; sur le calque du clip contenant le bouton (qui appel le clip qui pointe vers le swf).

Mais le .swf s'affiche en x/y = 0 ; alors que sur le clip (qui appel le swf) il y a bien ceci :
ani._x = 230;

ani._y = 210;
apparemment il n'en tient compte :( ; j'ai essayer de déclarer une autre variable pr le positionnement mais ça ne focntionne pas ...
Peut-être as-tu aussi une solution pr ce nouveau problème.
En tous cas un grd, grd merci pour la solus _global !!! ça m'a déjà bien avancé

Christelle.
3
christ_l Messages postés 6 Date d'inscription vendredi 26 décembre 2003 Statut Membre Dernière intervention 9 août 2011
14 avril 2008 à 20:54
Re ...

Alors c ok pr le positionnement du swf externe !!! trop cool
J'ai rajouter ce code sur le clip qui appel le swf externe :
stop();
var myMCL = new MovieClipLoader();
//.loadClip(URL,cible)
myMCL.loadClip(couleur + ".swf",this);
positionx= _x;       
positiony= _y;   
this._x=200;
this._y=200;

Voili, mon problème est résolu encore merci à dj_ouf sans qui je n'aurais pas pu avançé.
Christelle
(yeah trop contente)
3
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
15 avril 2008 à 09:51
Lol pas de quoi!

Mais d'une manière générale il vaut mieux éviter les déclarations de variables en _global... et utiliser à la place des variables locales dans le même "domaine".
Mais dans d'autres cas, cela peut quand même être utile.

ps : a tu peux un gestionnaire de chargement pour ton clip loadé ? à l'aide de la function onLoadComplete() ou encore onInit() ?  C'est recommandé pour les initialisations des données externes chagées, comme dans ton cas avec les positionnements graphiques. :)
0