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 :

Loader un swf externe


Sujet :

ActionScript 3

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 73
    Par défaut Loader un swf externe
    Bonjour a tous
    Je suis un debutant en actionscript3 et j'essaye de loader un fichier .swf dans mon application flash d'origine.

    voici mon code que je met sur un bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var url:URLRequest = new URLRequest();
    url.url = "monSwfExterne.swf";
    trace("url : " + url.url);
    var loader:Loader = new Loader();
    loader.load(url);
    addChild(loader);
    dans la trace, je vois bien monSwfExterne.swf mais rien ne s'affiche et mmon numchildren augment a chaque fois que je clique sur le bouton.

    Pourquoi on monSwfExterne.swf ne s'affiche pas ?

    Merci d'avance de votre aide.

    Shakta

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Lut,

    je connais pas le chargement avec as3 (ni l'as3 tout court) mais tu devrai attendre la fin du chargement pour faire le addChild genre comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var url:URLRequest = new URLRequest();
    url.url = "monSwfExterne.swf";
    trace("url : " + url.url);
    var loader:Loader = new Loader();
    loader.load(url);
    loader.onLoad = function()
    {
       addChild(loader);
    }

  3. #3
    Membre expérimenté Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Par défaut
    Salem Shakta,

    C'est normal que le trace t'affiche ce que tu veux car "url.url" est juste un string, donc si tu lui affecte la valuer comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url.url = "monSwfExterne.swf";
    c'est sur que ton trace va t'afficher la même valeur, mais est ce-que le Va retrouver le bon movie clip, essaye de faire un load avec une URL complète, genre, "http://monsite/monflash.swf" et vois si ça marche ou pas.

    Bon courage

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 73
    Par défaut
    C'est deja fais mais ca marche pas
    Je suis un bloqué sur As3 la mais je recherche si je trouve ... ca va etre la fete


    Merci de vos reponses et aux autre si vous avez une idee

    Shakta

  5. #5
    Membre expérimenté Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Par défaut
    Salam Shakta,

    En fait je travaille avec Flex, et c'est AS3, je ne sais pas ce qu'il en est de ton Flash, mais le AddChild ne marche pas chez moi avec tous les exemple que j'ai trouvé sur le Net , j'ai des exception tout le temps.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 73
    Par défaut
    Hello Fares BELHAOUAS ,
    merci pour ton suivi ca rassure de voir que ca vient pas de moi mais de l'as3.

    Je ne connais pas flex mais j'ai vraiment ce probleme car je viens d'esssaye ce code juste pour charger une image et j'ai rien qui s'affiche .. la trace est bonne ca commence a m'echauffer

    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
    package{
    	import flash.display.*;
    	import flash.events.*;
    	import flash.text.*;
    	import flash.net.URLRequest;
     
    	public class Chargeur extends Sprite{
    	private var _statutLoader:TextField;
     
    	public function Chargeur(pathImage:String){
    		// créer le chargeur et l'ajouter dans la liste d'affichage.
    		var chargeur:Loader = new Loader();
    		addChild(chargeur);
     
    		//Ajoute les gestionnaires d'événements pour contrôler la progression
    		chargeur.contentLoaderInfo.addEventListener(Event.OPEN, gestionOpen);
    			chargeur.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,gestionProgress);
    			chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, gestionComplete);
     
    		trace("image : "+pathImage);
    		//Charge l'image externe
    		chargeur.load(new URLRequest(pathImage));
    	}
     
    	private function gestionOpen(evt:Event):void{
    		trace("téléchargement commencé");
    		//Créer un simple préchargeur en mode texte et l'ajoute a la liste d'affichage
    		_statutLoader = new TextField();
    		addChild(_statutLoader);
    		_statutLoader.text = "Chargement : 0%";
    	}
    	private function gestionProgress(evt:ProgressEvent):void{
    		var pourcent:Number = evt.bytesLoaded / evt.bytesTotal *100;
    		trace("Progression : " + pourcent + "%");
    		//Mettre à jour le % de téléchargement pour informer l'utilisateur de la progression
    		_statutLoader.text = "Chargement : "+pourcent+"%";
    	}
    	private function gestionComplete(evt:Event):void{
    		trace("Téléchargement terminé");
    		// Nettoyage. Le préchargeur n'est olus nécessaire.
    		removeChild(_statutLoader);
    		_statutLoader = null;			
    	}
    	}
    }
    Et j'ai vraimetn rien qui s'affiche Arrrggg

    Si une personne peut tester et me dire si une image s'affiche je suis preneur.

    Shakta

  7. #7
    Membre expérimenté Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Par défaut
    Salem

    J'ai pu tester sour Flash CS3, j'ai mis deux calques, un pour les actions script ou j'ai mis ce code sur le premier frame, et le deuxième calque contient un button, avec nom d'instance button1

    addEventListener("click", onClick);
    function onClick(e:Event):void {
    trace(e.target.name);
    var url:URLRequest = new URLRequest();
    url.url = "monSwfExterne.swf";
    trace("url : " + url.url);
    var loader:Loader = new Loader();
    loader.load(url);
    addChild(loader);
    }
    Jai mis un fichier "monSwfExterne.swf" à coté etttttttt, ça marche, , donc essaye ton flash en local, et si ça marche et que ça ne marche pas sur le serveur, c'est que c'est un problème de sécurité (crossdomain).

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 73
    Par défaut
    bonjour Fares BELHAOUAS

    BEn tu as de la chance.
    Quand tu dis
    Jai mis un fichier "monSwfExterne.swf" à coté
    tu veux bien dire que que ton monSwfExterne.swf est dans le mem dossier que ton swf où tu met le code.

    Je viens d'essayer et pour moi il n'apparais toujours pas sur ma scene ... c'est a rien y comprendre ..

    Comment peux ton specifier où le swf doit ce loader. J'ai essayer nue image et c la meme chose.. Y4a un truc que j'ai rate.

    Merci pour ton aide

    Shakta

  9. #9
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    je vois pas ou tu peux bloquer Shakta ?
    je te joins l'exemple qui fonctionne

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 73
    Par défaut
    Bon j'ai trouver ...
    Je faisais un appel a ma class chargeru mais j'oubliais de mettre son instance dans le DisplayObject.

    Merci encore de ton suivi Fares BELHAOUAS

    Bonne journee

    Shakta

  11. #11
    Membre expérimenté Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Par défaut
    salem Shakta,

    Bienvenue, je suis content que t'ai touvé

  12. #12
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut petites précisions svp
    Bonjour à tous,

    Si je puis me permettre…

    Etant débutant, je cherche à décortiquer ce fonctionnement.

    Le package, je le mets dans Chargeur.as ?

    Le code
    var url:URLRequest = new URLRequest();
    ……
    addChild(loader);
    je le mets dans loader.fla image 1 calque 1

    je créé un texte dynamique d’occurence _statutLoader dans cette image 1 ?

    quel est le code pour afficher le _statutLoader ?


    mais peut-être n’est-ce pas ça du tout…

    merci de votre éclairage.

    jp

  13. #13
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Par défaut
    salut,
    j'ai aimé la solution proposé par notre amis dans le fichier archive.zip,
    un preloader simple et efficace pour télécharger des fichiers swf externe.

    mais le seul problème c'est qu'il n y a pas de preloader,
    il n'y a que le script.

    j'ai essayé d'adapté ce script a mon fla, pour télécharger un swf externe au lieu d'une frame interne, mais je n'ai pas réussi, est ce qu'il y a une solution pour résoudre ca ?

    le code de l'archive zip :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var url:URLRequest = new URLRequest();
    url.url = "header.swf";
    trace("url : " + url.url);
    var loader:Loader = new Loader();
    loader.load(url);
    addChild(loader);
    et le code dans mon fla
    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
    onClipEvent (load)
    {
        total = 100;
        base = 1;
    }
    onClipEvent (enterFrame)
    {
        loaded = base = base + 5.000000E-001;
        percent = int(loaded / total * 100);
        text01.percentage = "" + percent + "%";
        text02.percentage = "" + percent + "%";
        text03.percentage = "" + percent + "%";
        gotoAndStop(percent);
        if (loaded == total)
        {
            _root.gotoAndPlay(2);
        } // end if
    }
    le but c'est d'utiliser mon preloader pour télécharger le fichier swf externe,
    est ce possible ??

    amicalement
    killer boy

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 347
    Par défaut
    Juste une question toute bête,

    il est possible de modifier les éléments du SWF Loader?

    Par exemple, changer le Label des Buttons?

    J'ai testé avec getChildAt, mais ça ne renvoi qu'un DisplayObject avec quoi je sais pas trop quoi faire à par des rotations...

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

Discussions similaires

  1. [FLASH 8] Chargement fichier swf externe
    Par Chronax dans le forum Flash
    Réponses: 4
    Dernier message: 18/07/2006, 10h08
  2. Pb Loader ET SWF
    Par tom1gson dans le forum Flash
    Réponses: 3
    Dernier message: 15/06/2006, 10h52
  3. [FLASH 8] probleme sur preload d'un swf externe
    Par iceman2001 dans le forum Flash
    Réponses: 4
    Dernier message: 11/04/2006, 11h03
  4. [FLASH MX2004] Preload swf externe dans header
    Par nonoteam dans le forum Flash
    Réponses: 2
    Dernier message: 07/01/2006, 14h33
  5. [AS1] Précharger un SWF externe
    Par denis finch dans le forum Flash
    Réponses: 21
    Dernier message: 22/12/2005, 11h05

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