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:
ou #TITRE est donc une variable sur mon site. Je peux donc selon la page du site avoir un flashvars différent.
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>
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:
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var fanz:string = root.loaderInfo.parameters.fanz;
j'ai donc tester quelquechose comme ceci:
Ainsi il ne bug plus à l'export, et charge le data.xml bidon.
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; } }
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
Et dans ma gallerie
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();
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...
Partager