Probleme de blocage d'animation lorsque plusieurs swf sont chargés les uns sur l

avalanchebleue Messages postés 14 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 4 septembre 2006 - 20 juil. 2005 à 23:05
twelve34 Messages postés 52 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 23 juillet 2009 - 27 janv. 2006 à 19:28
Merci de m'aider

J'ai un menu contenant des boutons.
Chaque bouton déclenche l'ouverture d'un swf dans le swf principal à partir d'un clip vide (toujours dans le même clip). Les swf chargés sont des animations de type livre avec les pages qui tournent lorsqu'on clique sur les coins des pages.
Pour charger mon swf puis pour l'arrêter au chargement du suivant j'utilise le code suivant :

sachant que je déclare ma variable globale dans la 1er frame du swf principal avec le code suivant :

_global.livreencours="independentaire livre.swf"

cette variable me permettra de fermer le swf en cours avant l'ouverture du suivant. Pour cela j'utilise le code suivant sur chacun des boutons :

on(release) {
unloadMovie(_global.livreencours); / je vire le swf en cours de lecture sans savoir lequel c'est !!!!
_global.livreencours="rotonde livre.swf" / je spécifie le swf que la variable globale doit maintenant appeler
loadMovie (_global.livreencours, this.livre) / je charge le nouveau swf à lire dans l'emplacement du clip vide (this.livre)
livre._x=20
livre._y=-120
;
}

Alors, ca marche très bien pour le premier swf. Mais ensuite lorsqu'un nouveau swf arrive l'animation ne marche plus. On voit la premiere page du livre mais pas les autres : les pages ne tournent pas...
Je n'arrive pas à voir où se trouve l'erreur et encore moins à trouver une astuce pour contourner le probleme (même s'il y a toujours la possibilité de rechargé le swf principal, avant de charger le livre adéquate, lorsqu'un des boutons est cliqué, mais c'est trop lourd et le temps d'attente risque d'être trop long).
Merci d'avance aux X men et women qui pourront m'aider.
Cordialement,
Avalanchebleue.

5 réponses

cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
21 juil. 2005 à 09:42
quand j'ai du chargement à faire dans un clip vide, je crée tout ça dynamiquement et le supprime à chaque chargement, genre:



this.createEmptyMovieClip("qsdf",100);

this.qsdf._x=10;

this.qsdf._y=10;

this.loadMovie("livre1.swf");



sur un onPress ou ailleurs:

this.qsdf.removeMovieClip();

...et tu recommences au début



@+! Samy
0
avalanchebleue Messages postés 14 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 4 septembre 2006
24 juil. 2005 à 22:32
Bon, effectivement, ce que tu proposes marche pour les clips traditionnels, comme ma méthode. Hélas, cela ne fonctionne pas non plus quand l'animation est un livre. En fait, au rechargement du même livre ou au chargement du 2eme livre, l'animation se bloque aussi. Cela vient peut être du script du livre. Si quelqu'un à le courage d'y jeter un oeil les sources de l'animation "livre" sont disponibles sur le site : http://www.iparigrafika.hu/pageflip/
Au plaisir de vous lire et merci à Samy pour son message.
Avalanchebleue.
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
25 juil. 2005 à 08:33
Y'a déjà eu pas mal de message au sujet de ce script pour y effectuer
des modifs...maintenant je pourrais pas te répondre ne m'y étant pas
personnellement plus penché dessus (j'avais juste jeter un oeil...ça
paraissait vraiment bien, mais j'en avais pas besoin jusqu'à présent...)



Bon courage!



@+! Samy
0
avalanchebleue Messages postés 14 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 4 septembre 2006
25 juil. 2005 à 17:05
Salut Samy,
juste pour te dire que j'ai trouvé la solus après quelques crises de nerfs.
En fait il fallait simplement virer une fonction (Mouse.addListener(mousecontroll)) présente dans l'AS du swf contenant l'animation "livre".

Alors pour ceux que ca interesse, si vous voulez charger plusieurs animations de type "livre" (animation appelée pageflip par son concepteur et consultable sur : http://www.iparigrafika.hu/pageflip/ )
il est indispensable d'utiliser le code suivant pour que l'animation fonctionne :
/l'animation se charge dans un clip vide appelé "clip"
/dans l'AS du swf contenant l'animation clip est définie une fonction qui va virer la fonction problematique. Cette fonction est la suivante :
function removeML() {
Mouse.removeListener(mousecontroll);
}
Donc tout ce qu'on a à faire c'est d'introduire le code suivant sur les boutons qui vont déclencher l'ouverture des différentes animations de type "livre" :

on(release) {
_root.clip.removeML();
unloadMovie("clip");
createEmptyMovieClip("clip","100");
loadMovie("livre.swf", "clip");
clip._x=-100
clip._y=-100
;
}

J'espère que ca vous servira.
MERCI au forum et à [/ http://www.flashkod.com]
Avalanchebleue.
0

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

Posez votre question
twelve34 Messages postés 52 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 23 juillet 2009
27 janv. 2006 à 19:28
Wow merci pour ta réponse, ça m'a beaucoup aidé, vraiment un GRAND
MERCI!!!!!!!!!!!!!!!!!!! J'ai presque envie de te dire "je t'aime",
mais bon, on va s'arrêter là hein, ce serait pas sérieux hein! A+
0
Rejoignez-nous