Attendre la fin du chargement d'un clip

arnaud_verlaine Messages postés 21 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 20 septembre 2006 - 13 sept. 2006 à 10:21
arnaud_verlaine Messages postés 21 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 20 septembre 2006 - 13 sept. 2006 à 11:40
Bonjour
Mon problème est le suivant :
Je crée 2 clips et quand ils sont chargés tous les deux, je voudrais lancer une fonction.
Je procède comme suit :
Je crée le Clip Ecran1, je charge l'image dedans. Une fois le clip chargé, j'incrémente une variable globale 1.
Je fait ensuite pareil avec le clip 2.
Une fois les 2 variables incrémentées, je fait un test sur ces variables et je lance la fonction...
Mais le problème est que la fonction ne se lance pas !
Pourtant les clips et leurs images à l'écran se chargent sans problème.
Voici le code :
//Variables globales concernant le chargement des images
_global.ChargementFondEcran1=0;
_global.ChargementFondEcran2=0;


/*********************/
/*     Fond ecran 1  */
/*********************/


//On crée notre Fond1
var FondEcran1:MovieClip = createEmptyMovieClip("FondEcran1", 0);
//on définit un écouteur pour écouter ce que le movieClipLoader dira (notamment, l'avancement du chargement)
var ListenerFondEcran1:Object = new Object();
//quand le chargement est fini, le movieClipLoader déclenche un événement loadInit qu'on va écouter et quand il surviendra, le code entre { } sera exécuté. 
//le movieClipLoader renvoie aussi le clip dans lequel il fait le chargement (et on le récupère dans target_mc)
ListenerFondEcran1.onLoadInit = function(target_mc:MovieClip):Void 
{
    //ici on est sûr que notre image est bien chargée, on peut la redimensionner 
    target_mc._x=0;
 target_mc._y=0;
 target_mc._width=500;
 target_mc._height=500;
}
ListenerFondEcran1.onLoadComplete = function() 
{
_global.ChargementFondEcran1=1; 
}


//on définit notre movieClipLoader
var mcl1:MovieClipLoader = new MovieClipLoader();
 
//on lui attache notre écouteur pour qu'il puisse entendre ce que le mcl1 émét
mcl1.addListener(ListenerFondEcran1);
 
//on lance le chargement de notre image
mcl1.loadClip(MotifArrierePlan, FondEcran1);
/*********************/
/*     Fond ecran 2  */
/*********************/


//On crée notre Fond2
var FondEcran2:MovieClip = this.createEmptyMovieClip("FondEcran2", 1);
//on définit un écouteur pour écouter ce que le movieClipLoader dira (notamment, l'avancement du chargement)
var ListenerFondEcran2:Object = new Object();
//quand le chargement est fini, le movieClipLoader déclenche un événement loadInit qu'on va écouter et quand il surviendra, le code entre { } sera exécuté. 
//le movieClipLoader renvoie aussi le clip dans lequel il fait le chargement (et on le récupère dans target_mc)
ListenerFondEcran2.onLoadInit = function(target_mc:MovieClip):Void 
{
    //ici on est sûr que notre image est bien chargée, on peut la redimensionner 
if (VariableFondPaysage != "images/ArrierePlan/Motifs/")
{ 
target_mc._x=VariableCoordX;
target_mc._y=VariableCoordY;
target_mc._width=VariableLargeurArrierePlan;
target_mc._height=VariableHauteurArrierePlan;
}
}
ListenerFondEcran2.onLoadComplete = function() 
{
_global.ChargementFondEcran2=1; 
}
//on définit notre movieClipLoader
var mcl2:MovieClipLoader = new MovieClipLoader();
 
//on lui attache notre écouteur pour qu'il puisse entendre ce que le mcl1 émét
mcl2.addListener(ListenerFondEcran2);
 
//on lance le chargement de notre image
mcl2.loadClip(VariableFondPaysage, FondEcran2);




//on lance notre fonction ici :


if((_global.ChargementFondEcran1==1)&&(_global.ChargementFondEcran2==1)&&(_global.ChargementFondEcran3==1))
{
//Tout est chargé on peut imprimer 
print_me(); 
}

Auriez-vous une idée?
D'avance, Merci 

3 réponses

shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
13 sept. 2006 à 10:42
function onEnterFrame(){
if((_global.ChargementFondEcran1==1)&&(_global.ChargementFondEcran2==1)&&(_global.ChargementFondEcran3==1))
{
//Tout est chargé on peut imprimer 
print_me(); 
}
}
sinon tu ne l'execute qu'une fois au début donc forcement ca ne marche aps
<hr />http://www.carton.c.la
0
arnaud_verlaine Messages postés 21 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 20 septembre 2006
13 sept. 2006 à 11:18
Ca fonctione mais ca me fait une boucle infinie et mon site est bloqué !
0
arnaud_verlaine Messages postés 21 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 20 septembre 2006
13 sept. 2006 à 11:40
Ok j'ai trouvé :


_global.Chargement = 0;
_global.verif = function() {
   _global.Chargement ++;
   if(_global.Chargement == 2) {
  print_me();
   }
}



pour les clips:
ListenerFondEcran1.onLoadComplete = function() {
  _global.verif(); 
}



Merci à vous tous  ;-)
0
Rejoignez-nous