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

ActionScript 3 Discussion :

Chargement d'un SWF externe


Sujet :

ActionScript 3

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut Chargement d'un SWF externe
    Bonjour à tous !
    Je charge un swf externe que je souhaite afficher lorsqu'il est chargé. Voici mon 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
     
    // On définit le chargeur
    var chargeur:Loader = new Loader();
     
    // On s'abonne à l'évènement de début, de progression et de fin du chargement
    chargeur.contentLoaderInfo.addEventListener(Event.OPEN, debutChargement);
    chargeur.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, chargementEnCours);
    chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, finChargement);
     
    // On définit l'url
    var url:URLRequest = new URLRequest("entree.swf");
     
    // On charge le contenu
    chargeur.load(url);
     
    // On définit le comportement du début du chargement
    function debutChargement(evenement:Event):void
    {
    	if (!contains(barre))
    	{
    		// On affiche la barre
    		addChild(barre);
    	}
    }
    // On définit le comportement lors du chargement
    function chargementEnCours(evenement:ProgressEvent):void
    {
    	// On déclare l'avancement du chargement
    	var avancement:Number = evenement.bytesLoaded / evenement.bytesTotal;
     
    	// On redimensionne la barre
    	barre.scaleX = avancement;
     
    	// On affiche l'avancement dans le champ texte
    	texte.text = Math.round(avancement * 100) + "%";
    }
    // On définit le comportement de la fin du chargement
    function finChargement(evenement:Event):void
    {
    	if (contains(barre))
    	{
    		// On désaffiche la barre et le texte
    		removeChild(barre);
    		removeChild(texte);
    	}
    	// On affiche le contenu chargé (le SWF)
    	addChild(evenement.target.content);	
    }
    Le soucis, c'est que mon swf externe s'affiche bien à la fin du chargement mais l'animation de ce swf en est déjà à la moitié. Comment faire pour qu'elle ne débute qu'à la fin du chargement ?

    Edit : Cela m'arrive quand je teste mon swf avec Flash Player sur mon ordinateur en activant : "simuler le téléchargement"

  2. #2
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    salut, tu as essayé un gotoAndPlay(1) ?
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Merci à toi, ça marche plus ou moins bien.
    Je pensais avoir testé, enfin bon...
    En fait, l'animation se lance bien du début dès que la barre de chargement est terminée. Cependant l'animation se joue également avant la fin de la barre de chargement, je ne la vois pas mais je l'entends (puisqu'un son est joué). Au pire, j'enlève le son mais bon, j'aimerais bien comprendre le fonctionnement. Comme si l'animation se lançait en même temps qu'elle soit chargée...
    Voici mon nouveau 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
     
    // On définit le chargeur
    var chargeur:Loader = new Loader();
     
    // On s'abonne à l'évènement de début, de progression et de fin du chargement
    chargeur.contentLoaderInfo.addEventListener(Event.OPEN, debutChargement);
    chargeur.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, chargementEnCours);
    chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, finChargement);
     
    // On définit l'url
    var url:URLRequest = new URLRequest("entree.swf");
     
    // On charge le contenu
    chargeur.load(url);
     
    // On définit le comportement du début du chargement
    function debutChargement(evenement:Event):void
    {
    	if (!contains(barre))
    	{
    		// On affiche la barre
    		addChild(barre);
    	}
    }
    // On définit le comportement lors du chargement
    function chargementEnCours(evenement:ProgressEvent):void
    {
    	// On déclare l'avancement du chargement
    	var avancement:Number = Math.round((evenement.bytesLoaded / evenement.bytesTotal) * 100);
     
    	// On redimensionne la barre en jouant l'animation
    	barre.gotoAndPlay(avancement);
     
    	// On affiche l'avancement dans le champ texte
    	texte.text = avancement + "%";
    }
    // On définit le comportement de la fin du chargement
    function finChargement(evenement:Event):void
    {
    	if (contains(barre))
    	{
    		// On désaffiche la barre et le texte dynamique, le fond et le texte "chargement"
    		removeChild(barre);
    		removeChild(texte);
    		removeChild(fond);
    		removeChild(chargement);
    	}
    	// On se désabonne des évènements
    	chargeur.contentLoaderInfo.removeEventListener(Event.OPEN, debutChargement);
    	chargeur.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, chargementEnCours);
    	chargeur.contentLoaderInfo.removeEventListener(Event.COMPLETE, finChargement);
     
    	// On affiche le contenu chargé (le SWF)
    	addChild(evenement.target.content);
     
            // On lance le contenu chargé dès le début
    	evenement.target.content.gotoAndPlay(1);
    }

  4. #4
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    ah ... je pense que ca ce charge en streaming (flux), donc des qu'il reçoit assez de données il commence a lire le SWF ... vu que toutes mes animes n'ont qu'une seul image, je n'ai jamais eu ce probleme mais je pense que tu pourrais essayer un gotoAndStop(1) ou stop() dans un try/catch que tu vas placer dans l'evenement "open" ou "progress" (seulement si "open" ne fonctionne pas) et faire le gotoAndPlay(1) ou play() dans l'evenement "complete"
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Ok, merci pour ta réponse.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 23
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par womannosky Voir le message
    Ok, merci pour ta réponse.
    Bonjour a tu trouvé une solution pour ton démarage prématurer des clip ?

    merci de partager le détail de la solution

    bien à toi

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Je n'ai toujours pas trouvé... Désolé

  8. #8
    Membre actif

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Points : 234
    Points
    234
    Par défaut
    Salut,

    Tu as essayé de placer ton chargeur.load dans ta méthode finChargement ?

Discussions similaires

  1. Problème chargement de fichier swf externe
    Par tsunamichups dans le forum ActionScript 3
    Réponses: 4
    Dernier message: 08/11/2010, 14h13
  2. Chargement d'un SWF externe
    Par freezerhm dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 01/06/2010, 15h29
  3. Comment faire pour avoir une barre de chargement pour un SWF externe?
    Par rigolman dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 10/04/2009, 10h49
  4. Chargement d'un SWF externe dans une animation.
    Par doncho23 dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 06/04/2009, 11h57
  5. Problème loadmovie - chargement d'un swf externe
    Par Cosyweb dans le forum Flash
    Réponses: 1
    Dernier message: 15/01/2008, 01h05

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