LoadMovie et passage de paramètre d'un SWF vers un autre ...

Résolu
Signaler
Messages postés
41
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
16 février 2006
-
Messages postés
12
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
12 janvier 2008
-
Salut !

Voila mon problème ...

J'ai un SWF (swf1) qui affiche un menu basique avec 6 choix possibles ...
Quand je clique sur un de ces choix, j'appelle un autre SWF (swf2) avec un LoadMovie ...
Mon sfw2 écrase complètement swf1 car je le charge au niveau 0 ... mais ça, c'est volontaire ...

Par contre, je voudrais savoir dans le swf2 appellé sur quel menu de swf1 j'ai cliqué !
Connaissez-vous une solution ultra-légère ( pas de fichier intermédiaire ) ? ... peut-être un loadVars ?

HELP !

Merci de votre aide ...

9 réponses

Messages postés
41
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
16 février 2006

J'ai trouvé une solution qui me semble aceptable.

Il faut juste que j'utilise une variable globale !!!

Ainsi dans mon B.swf j'écris par exemple :

_global.my_var = 5 ;

et dans mon C.swf j'écris :

trace(_global.my_var);

Lorsque dans mon B.swf je clique sur un choix, C.swf est correctement chargé (au niveau 0) et la trace affiche 5 !

C'est génial !
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Messages postés
41
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
16 février 2006

Merci beaucoup de ta réponse malheureusement çcelle-ci ne résoud pas mon problème ...

En effet, LocalConnection permet de communiquer entre plusieurs SWF qui sont actifs sur un ordinateur ...
or dans mon cas quand mon swf2 est appellé, mon swf1 est aussitôt détruit ... il n'y a donc qu'un et un seul SWF actif à chaque fois ...

snif bou ...
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Escuse-moi, je n'ai pas vraiment pris le temps de lire ton message.
Le meilleur moyen de résoudre ton problème est sans doute de créer un clip à l'intérieur du swf : la variables restent à la racine du swf, et tu charges le second swf dans le clip du premier ! T'as compris ?

SuperDevy, c la !
Messages postés
41
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
16 février 2006

Ouais merci ... malheureusement je faisais exprés d'écraser le premier SWF par le second ( au lieu de le charger à un niveau supérieur comme tu me le préconnise ) pour gagner en fluidité et en mémoire ...

Mais bon, en fait + j'y réfléchis, + je me dis que tu as sûrement raison ... je vais essayer et je te dirais ça ... demain, car je vais me coucher ...

merci encore !
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Bin, dernière solution sinon : utiliser les SharedObject...

SuperDevy, c la !
Messages postés
41
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
16 février 2006

Salut !

Merci SuperDevy ...

Là, je craque, en effet, il y a toujours un truc que je n'ai sûrement pas compris ...

Auriez-vous la patience de bien vouloir lire ce qui suit afin de m'apporter un peu d'aide ?

- J'ai un premier .SWF (A.swf) qui fait office de preloader, dans l'unique frame j'y ais le code suivant :

stop();
bar_mc._xscale = 0;
loadMovieNum("B.swf", 1);
_level1.stop();


onEnterFrame = function () {
percent = Math.ceil((_level1.getBytesLoaded()/_level1.getBytesTotal())*100);
bar_mc._xscale = percent;
taux = percent + "%";
if (percent>99) {
delete this.onEnterFrame;
_level1.gotoAndStop(2);
}
};

- Mon deuxième SWF (B.swf) , qui est appellé, présente un menu avec six choix possibles.
Chaque choix est un cercle que j'ai dessiné, qui est de type MovieClip et qui se trouve dans ma bibliothèque.
Quand je clique sur un de ces boutons je fais un :

loadMovieNum("C.swf", 0);

pour appeler mon troisième SWF (C.swf).


- Dans ce troisième SWF (C.swf) j'ai un bouton qui me permet de retourner au SWF précédent (B.SWF) grace à l'instruction :

this.loadMovie("B.swf",0);

Pour résumer :

A.swf (preloader) : loadMovieNum("B.swf", 1)
B.swf (menu) : loadMovieNum("C.swf", 0);
C.swf (le site) : this.loadMovie("B.swf",0);

A ===> B <===> C

Ce que j'obtiens : Tout s'enchaîne à merveille sauf que dans C.swf je ne peux pas savoir sur lequel des 6 menus de B.swf j'ai cliqué ...

Si j'essaye de charger le C au dessus du B, ça marche mais tout est ralenti ...

Ma question : Comment faire pour charger C.swf dans B.swf sans que ça rame ?

Merci de votre aide !
Messages postés
1255
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
2 décembre 2008

mais tu voulais faire quoi exactement?


Peace from Mars
to all human beings

non, c'est bien de trouver et partager! merci!
Messages postés
12
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
12 janvier 2008

Merci, pour le _global !!! je cherchais justement. c'est super !!!
Patrick

et dans 2000 ans y front koi ?