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

Résolu
cs_DrShiva Messages postés 41 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 16 février 2006 - 10 févr. 2006 à 00:41
hapyba Messages postés 12 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 12 janvier 2008 - 5 févr. 2007 à 09:50
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

cs_DrShiva Messages postés 41 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 16 février 2006
11 févr. 2006 à 03:39
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 !
3
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
10 févr. 2006 à 01:13
0
cs_DrShiva Messages postés 41 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 16 février 2006
10 févr. 2006 à 01:20
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 ...
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
10 févr. 2006 à 01:31
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 !
0

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

Posez votre question
cs_DrShiva Messages postés 41 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 16 février 2006
10 févr. 2006 à 01:34
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 !
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
10 févr. 2006 à 11:31
Bin, dernière solution sinon : utiliser les SharedObject...

SuperDevy, c la !
0
cs_DrShiva Messages postés 41 Date d'inscription mardi 13 avril 2004 Statut Membre Dernière intervention 16 février 2006
10 févr. 2006 à 22:15
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 !
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
11 févr. 2006 à 13:40
mais tu voulais faire quoi exactement?


Peace from Mars
to all human beings

non, c'est bien de trouver et partager! merci!
0
hapyba Messages postés 12 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 12 janvier 2008
5 févr. 2007 à 09:50
Merci, pour le _global !!! je cherchais justement. c'est super !!!
Patrick

et dans 2000 ans y front koi ?
0