2 actions dans un bouton

cs_Moska Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 3 avril 2003 - 10 mars 2003 à 16:31
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 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é...

7 réponses

cs_Alcys Messages postés 27 Date d'inscription lundi 22 juillet 2002 Statut Membre Derniè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
0
cs_tombal Messages postés 212 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 25 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

et sur le bouton
on (press) {movieclip.play()}

Tombal
0
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 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...

@+ Tom
0
cs_tombal Messages postés 212 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 25 juillet 2005
10 mars 2003 à 21:36
Cool merci tu m'apprends une nouvelle methode bien plus pratique que l'autre =)
0

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

Posez votre question
cs_Moska Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 3 avril 2003
11 mars 2003 à 09:00
Merci à tous les gars!

Ca marche bp mieux maintenant :)
0
cs_Alcys Messages postés 27 Date d'inscription lundi 22 juillet 2002 Statut Membre Derniè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
0
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 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

@+ Tom
0