Bouton ds clip appel clip qui appel au autre swf

Résolu
Signaler
Messages postés
6
Date d'inscription
vendredi 26 décembre 2003
Statut
Membre
Dernière intervention
9 août 2011
-
Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011
-
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

Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011

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 ^^
Messages postés
6
Date d'inscription
vendredi 26 décembre 2003
Statut
Membre
Dernière intervention
9 août 2011

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.
Messages postés
6
Date d'inscription
vendredi 26 décembre 2003
Statut
Membre
Dernière intervention
9 août 2011

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)
Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011

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. :)