cs_Moska
Messages postés26Date d'inscriptionvendredi 7 février 2003StatutMembreDernière intervention 3 avril 2003
-
10 mars 2003 à 16:31
cs_tom
Messages postés1511Date d'inscriptionsamedi 8 décembre 2001StatutModérateurDernière intervention11 juin 2009
-
11 mars 2003 à 11:12
Salut!
Y a un truc que je capte pas...
J'ai le script suivant associé à un bouton :
on (release) {
loadVariablesNum("data.txt", 0);
if (done==1){
loadMovieNum("image.swf", 0);
}
}
Pourquoi, avec ce script, faut-il que j'appuie 2 fois sur le bouton pour charger image.swf??? Pourquoi est-ce que tout n'est pas effectué en appuyant une seule fois (puisque tout est compris dans le on(release))??? J'y perd mon latin... :(
NB : "done" est une variable initialisée à 0 (dans une autre partie de mon script) et qui est mise à 1 par le chargement de data.txt (et ça marche, g testé ça séparément).
Si vous avez une idée, merci bp de m'aider, parce que là, j'suis paumé...
cs_Alcys
Messages postés27Date d'inscriptionlundi 22 juillet 2002StatutMembreDernière intervention 5 juillet 2003 10 mars 2003 à 17:58
Salut Moska,
Quand un swf est chargé sur un _leveln, il fait le ménage et
prend le pouvoir sur ce niveau. Donc tout ce qui était present
avant, a été éffacé après le chargement.
Donc pour toi deux solutions:
1)soit tu inverse l'ordre de tes 2 actions
2)soit tu charge ton swf sur un niveau différent
Alcys
cs_tombal
Messages postés212Date d'inscriptionsamedi 8 février 2003StatutMembreDernière intervention25 juillet 2005 10 mars 2003 à 18:24
Moi je dirais plutot que lorsque t'appuy sur le bouton
il fait le loadvariable d'abord mais pas le loadmovie
en effet quand on apelle le loadvariable l'animation n'attend pas que les variable soit chargé et passe directement a la suite
C'est pour cela que quand tu rappuy une deuxieme fois, il a eu le temps de charger la variable et donc le loadmovie....
Ce qu'il faut que tu fasse c'est créer un clip avec dans la premiere image le loadmovie et un stop
Dans la deuxieme image tu ne met rien
Dans la troisieme tu met
if (done==1){
loadMovieNum("image.swf", 0);
stop();
}
else {gotoAndplay(2);}
//Ainsi il fait une boucle jusqu'a ce qu'il ai chargé les varibles
cs_tom
Messages postés1511Date d'inscriptionsamedi 8 décembre 2001StatutModérateurDernière intervention11 juin 2009 10 mars 2003 à 19:50
Salut,
tombal a raison, y a toujours un temps d'attente entre la demande d'info, et la reception.
Cependant, il y a une facon de faire un tel appel en MX, avec l'objet 'loadVars':
maRequete = new loadVars();
maRequete.load("data.txt");
function Appel(succes){
if (succes){
loadMovieNum("image.swf", 0);
}
}
maRequete.onload=Appel;
Ca doit etre quelquechose comme ca, mais j'ai plus le code exact en tete.
Avant, je faisais une vérification avec un 'on(enterframe);'
dans lequel je vérifiais si une des variables récupéré étaient la (je suppose qu'ici, c'est 'done'). C'etait la seule methode avec flash5...
cs_Alcys
Messages postés27Date d'inscriptionlundi 22 juillet 2002StatutMembreDernière intervention 5 juillet 2003 11 mars 2003 à 10:53
Je maintiens que l'objet "requete" n'existe plus après
le chargement du swf au level 0. Si "requete" est au niveau 0
comme indiqué dans le code de Tom
Alcys
cs_tom
Messages postés1511Date d'inscriptionsamedi 8 décembre 2001StatutModérateurDernière intervention11 juin 2009 11 mars 2003 à 11:12
OUPS! oui, t'as raison sur ce point! J'avais recopié betement le code plus haut!
Personnellement, j'ai toujours tendance à faire des loadmovie dans des clips, et non sur un level quelconque. Parce que c'est bete de zapper un fond qu'on s'est fait chié à faire (et qui prend de la mémoire, meme si on le voit plus), et que c'est plus simple pour placer et controler l'anim ainsi importée.
Ca prendrait cette forme la :
loadMovieNum("image.swf", "_root.monclipvide");
Comme ca, si tu veux faire un effet de transparence ou un autre effet visuel, aucun probleme, tu le fais sur _root.monclipvide