Loader un SWF à une image clé donnée

LoganKyles Messages postés 5 Date d'inscription mardi 14 octobre 2008 Statut Membre Dernière intervention 14 septembre 2011 - 15 oct. 2008 à 01:06
LoganKyles Messages postés 5 Date d'inscription mardi 14 octobre 2008 Statut Membre Dernière intervention 14 septembre 2011 - 15 oct. 2008 à 13:58
Bonjour à tous

Généralement je trouve toujours des solutions seul grâce aux questions déjà posée et aux aides apportées par les excellent programmeurs qui trainent par ici ( et que je remercie pour leurs aides indirectes qui profitent très souvent à bien plus qu'un seul membre ), mais cette fois-ci je calle un peu donc à mon tour de demander votre aide pour un code tout simple.

J'utilise la commande suivante pour charger mes différents swf

loadMovie("mon_clip.swf", niveau);

Cependant dans le cadre du développement d'un site multilingue j'aurai besoin de pouvoir charger mon swf à une image clé précise de la séquence ( vous l'aurez compris, il y a une image clé par langue )

A partir d'un bouton et d'un swf externe "accueil.swf" comportant des images cles "fr", "us", ... je comptais utiliser la commande

on(Press){
loadMovieNum("accueil.swf", 2);
 _level2.gotoAndPlay("fr");
}

Mais visiblement même si les deux codes sont bons de manière séparés ils ne fonctionnent pas ensembles.

Je tiens à préciser que je suis surtout graphiste et malheureusement je pèche totalement au niveau du codage donc la solution doit être ultra simple mais je dois passer à côté

Merci d'avance pour votre aide

2 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
15 oct. 2008 à 10:38
Bonjour,

la solution est (assez) simple mais pas comme tu espères le faire.
_level2.gotoAndPlay("fr"); ne sera opérationnel qu'une fois ton animation accueil.swf completement chargée.

2 possibilités,
soit via une fonction onEnterframe sur ton animation principale tu contrôle si ton animation est completement chargée (avec getBytesLoaded() et getBytesTotal() )
si c'est le cas tu lances ton gotoAndPlay et tu détruit ton onEnterframe

Soit tu change ton fusil d'épaule et
- tu ne charges pas ton accueil.swf dans un level mais dans un movieclip vide (crée via createEmptyMovieCLip() )
- pour charger le clip tu utilise un MovieClipLoader qui va générer un evenement onLoadInit une fois le chargement completement terminer
- tu intercepte l'événement et tu lance ton gotoAndPlay
C'est de loin la meilleure solution...
va voir cecipour plus d'explications

@+
0
LoganKyles Messages postés 5 Date d'inscription mardi 14 octobre 2008 Statut Membre Dernière intervention 14 septembre 2011
15 oct. 2008 à 13:58
j'ai oublié de préciser le détail suivant, dans Accueil.swf la première frame est vierge et ne contient qu'un stop(); les loaders sont placés sur les clé "us", "fr", ... le swf charge donc sa première frame lors du clic sans soucis. C'est losque l'on arrive sur la frame "us" ou "fr" que le loader se met en route et c'est pour ca que j'avais besoin de pouvoir choisir l'image d'arrivée sur le swf

J'ai finalement trouvé une solution à ma manière

Au lieu de placer les deux commandes sur un on(press), je rajoutes un clip intermédiaire de la manière suivante

Actions bouton

on(press){
   loader.gotoAndPlay("load");
}

Actions "loader"

frame "load" : loadMovieNum("accueil.swf", 2);
frame suivante :  _level2.gotoAndPlay("fr");

J'ai testé avec un débit de 0.5ko/s et 50fr/s pour pousser a l'extrême et il n'y a pas de soucis donc ca fonctionnera parfaitement même en 56k pour mon anim a 30fr/s

La solution est assez anarchique pour un codeur c'est sur mais pour ma part flash reste un loisir qui me permet surtout de mettre en avant mon vrai travail d'infographiste donc je n'ai pas beaucoup de temps à y consacrer et apprendre un language comme le javascript serait trop couteux en terme d'efficacité pour moi c'est pour cette raison que je procède avec des codes simples à ma portée

Merci pour ta solution en tout cas, le jour ou j'aurai plus de temps à y consacrer j'essairai de modifier mon "bordel" avec ta méthode nettement plus propre
0
Rejoignez-nous