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 :

flashvar et XML


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Par défaut flashvar et XML
    Bonjour je suis débutant en flash et je me retrouve avec un gros ennui sur mon site.

    J'ai une sorte de gallerie photo pour un fanzine de bande dessinée.
    J'arrive à tout faire fonctionner correctement.

    Seulment j'utilise un site en SPIP, et donc il vas toujours cherche son XML à la racine de mon site.

    Etant donné que j'ai plusieurs fanzine différent. Il me faudrait donc avoir un nom de fichier xml variable.
    J'ai donc sur ma page html un code comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <object width="2048px" height="600px" type="application/x-shockwave-flash" data="squelettes/FANZINE/Galerie_ramaci.swf" id="fanzine_conteneur">
     
    <param name="flashvars" value="fanz=data_#TITRE.xml">
     
    </object>
    ou #TITRE est donc une variable sur mon site. Je peux donc selon la page du site avoir un flashvars différent.

    Ainsi je résoudrais mon problème en mettant tous les xml à la racine de mon site, ceux ci ayant des noms différent.

    Mais dans mon AS3 cela ne fonctionne pas;
    au début j'ai simplement fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        var fanz:string = root.loaderInfo.parameters.fanz;
    Mais alors à l'export du swf il n'est pas content forcément. Et si j'utilsie ce swf direct sur le site. Le swf reste blanc.

    j'ai donc tester quelquechose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var fanz:String = "data.xml";
     
    		 public function xmlsecu(){
    			 if(loaderInfo.parameters != null){
    				 fanz = root.loaderInfo.parameters.fanz;
    			 }
    		 }
    Ainsi il ne bug plus à l'export, et charge le data.xml bidon.
    En me disant que peu être c'était simplement un problème à l'export du SWF. mais sans plus de succès... une fois mis sur le site...

    Si quelqun pouvais m'aider je lui en serai très reconnaissant.
    Au cas ou je donne un peu plus du code.
    Dans mon .fla j'appel un .as externe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import fanzine.gallerie.*;
     
    var os:gallerie = new gallerie();
     
    addChild(os);
     
    stop();
    Et dans ma gallerie
    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
     
    package fanzine.gallerie{
     
    	import flash.display.MovieClip;
    	import flash.display.DisplayObject;
    	import flash.display.Shape;
    	import flash.display.Loader;
    	import flash.events.Event;
    	import flash.net.URLRequest;
    	import flash.events.MouseEvent;
    	import flash.net.URLLoader;
    	import flash.filters.*;
    	import com.gallerie.*;
     
    	public class gallerie extends MovieClip {
     
    		private var dataLoader:URLLoader;
    		private var xmlData:XML;
    		var fanz:string = root.loaderInfo.parameters.fanz;
     
    private function onStage(e:Event):void{
    			loadData();
    		}
    private function loadData():void{
    			dataLoader = new URLLoader();
    			dataLoader.addEventListener(Event.COMPLETE, dataLoaded);
    			dataLoader.load(new URLRequest(fanz));
    			createPreloader();
    		}
    	ETC...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 69
    Par défaut
    Salut,

    root ça existe en AS3?

    je ferais plutôt comme ça:

    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
    package fanzine.gallerie{
     
    	import flash.display.MovieClip;
    	import flash.display.DisplayObject;
    	import flash.display.Shape;
    	import flash.display.Loader;
    	import flash.events.Event;
    	import flash.net.URLRequest;
    	import flash.events.MouseEvent;
    	import flash.net.URLLoader;
    	import flash.filters.*;
    	import com.gallerie.*;
     
    	public class Gallerie extends MovieClip {
     
    		private var dataLoader:URLLoader;
    		private var xmlData:XML;
    		private var fanz:String;
     
    public function Gallerie() {
     
    fanz=loaderInfo.parameters.fanz;
    addEventListener(Event.ADDED_TO_STAGE,onStage);
     
    }
     
     
     
    private function onStage(e:Event):void{
    			loadData();
    		}
    private function loadData():void{
    			dataLoader = new URLLoader();
    			dataLoader.addEventListener(Event.COMPLETE, dataLoaded);
    			dataLoader.load(new URLRequest(fanz));
    			createPreloader();
    		}
    	ETC...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 29
    Par défaut
    Hum effectivement ton code me paraît mieux..
    Mais cela ne résoud pas le problème ;/

    Lorsque j'exporte mon swf (forcément en local)
    Il n'est pas content parceque il ne veux pas charger une URL null

    Et si je lui met une condition style if fanz == null alors fanz=data.xml
    Pour le faire patienter, l'export fonctionne; maisle swf ne tiens compte que du data.xml et non pas de ma flashvar mis dans ma page html ... :/

    je pense c'est peu petre lié à la façon d'utiliser des .as externe ??

    En otu cas cela dépasse vraiment mon pauvre petit niveau ... snif
    Si quelqun trouve une solution ce serait vraiment cool.

    Sinon je peux bricoler, et exporter a chaque fois manuellement un nouveau swf par fanzine que j'ai à mettre sur mon site ... mais bon .. vraiment pas pratique... Et je suis persuader qu'il y a moyen de faire ce que j'aimerai.

    Merci quand même.

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,

    pour faire un debogage de ce genre de probleme, la commande trace() est trés utile et te permettra de vite comprendre l'origine du probleme (local ou distant avec une extension comme flashtracer)

    donc fait un trace de loaderInfo.parameters.fanz et regarde ce qu'elle contient.


    autre chose, la classe MovieClip n'a aucun intérêt a être utilisé comme mère pour ta classe Gallerie, utilise Sprite a la place.

Discussions similaires

  1. [AIDE]appel .xml par Flashvars ?
    Par accrok dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 24/11/2008, 14h50
  2. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29
  3. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48
  4. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  5. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 13h51

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