IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Attendre la fin du chargement d'un clip


Sujet :

Flash

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut Attendre la fin du chargement d'un clip
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    //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

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    ca ne fonctionne pas parce que ta condition de lancement n'est pas un evenement.

    tu ne peux pas utiliser un evenement loader.complete dans les 2 clips. et sur cet evenement, aller verifier l'etat de la variable global et lancer la fonction lorsque c'est ok ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    euh je ne comprend pas là..

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    pourquoi pas un truc comme ca:

    dans _root:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    _global.Chargement = 0;
    _global.verif = function() {
       _global.Chargement ++;
       if(_global.Chargement == 2) {
         print_me();
       }
    }
    pour tes clips:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ListenerFondEcran1.onLoadComplete = function() {
      _global.verif();	
    }
    le ocde n'est pas testé, c'est juste une idée ..

    a mon avis, on doit pouvoir facilement se passer des _global avec les this et _parent.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    Je n'ai qu'une chose à dire : GRANDIOSE
    Non ca fonctionne impecc !!
    Merci à vous tous

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    de rien , n'oublie pas de cliquer sur le bouton résolue

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/02/2010, 13h45
  2. [Process] comment attendre la fin du chargement?
    Par elflamby dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/04/2007, 15h04
  3. [FLASH MX2004] [AS2] Attendre la fin de chargement d'un fichier avant de continuer.
    Par Demco dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 01/03/2007, 15h13
  4. attendre la fin de chargement d'une page avant de continuer le script
    Par jibouze dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/06/2006, 09h50
  5. Attendre la fin du chargement de la page dans un WebBrowser
    Par core1 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 15/06/2003, 04h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo