Avatar billede rafix Nybegynder
05. august 2005 - 10:51 Der er 3 kommentarer og
1 løsning

Flash styring af billeder via XML

Jeg har en Flash MX film der loader et XML dokument med billeder. Jeg vil gerne have at man kan definere hvilke billeder der vises alt efter hvilket menupunkt som har klikket på.

Nedenfor har jeg indsat en del af koden. Jeg sender gerne fla, xml og andet materiale.

Er der nogen som kan hjælpe og hvis der skal penge på bordet er det så ok med en plov eller skal der mere på bordet ?



ActionScript
#include "actionscript/start.as"
_global.glXMLPath = "xml/images.xml";
stop();

Start.as
import com.application.Application;

this.onEnterFrame = function (){
    percent = (getBytesLoaded()/getBytesTotal())*100;
   
    if (percent == 100){
        // do start-up       
        invisibleAll();
       
        _global.thisApplication = new Application(this,glXMLPath);
       
        delete this.onEnterFrame;                   
    }
}

XML fil
<?xml version="1.0" encoding="UTF-8"?>
<productIntro>

    <products>
        <product menu="index" id="1" mediaPath="images/product_1.jpg" wait="2000" />
        <product menu="index" id="2" mediaPath="images/product_2.jpg" wait="2000" />
        <product menu="index" id="3" mediaPath="images/product_4.jpg" wait="2000" />
        <product menu="index" id="4" mediaPath="images/product_7.jpg" wait="2000" />
        <product menu="concept" id="1" mediaPath="images/product_1.jpg" wait="2000" />
        <product menu="concept" id="2" mediaPath="images/product_2.jpg" wait="2000" />
        <product menu="concept" id="3" mediaPath="images/product_4.jpg" wait="2000" />
        <product menu="designers" id="1" mediaPath="images/product_7.jpg" wait="2000" />
        <product menu="designers" id="2" mediaPath="images/product_1.jpg" wait="2000" />
        <product menu="history" id="1" mediaPath="images/product_2.jpg" wait="2000" />
        <product menu="whatson" id="2" mediaPath="images/product_4.jpg" wait="2000" />
        <product menu="whatson" id="3" mediaPath="images/product_3.jpg" wait="2000" />
        <product menu="press" id="1" mediaPath="images/product_1.jpg" wait="2000" />
        <product menu="press" id="2" mediaPath="images/product_2.jpg" wait="2000" />
        <product menu="press" id="3" mediaPath="images/product_4.jpg" wait="2000" />
        <product menu="stores" id="1" mediaPath="images/product_8.jpg" wait="2000" />                       
        <product menu="stores" id="2" mediaPath="images/product_2.jpg" wait="2000" />                       
        <product menu="credits" id="1" mediaPath="images/product_5.jpg" wait="2000" />                       
        <product menu="contact" id="1" mediaPath="images/product_9.jpg" wait="2000" />                       
        <product menu="contact" id="2" mediaPath="images/product_7.jpg" wait="2000" />                                                       
    </products>
   
</productIntro>
Avatar billede docks Nybegynder
05. august 2005 - 11:59 #1
Lad os sige du loader din XML ind i objektet objXML:

menuIndexArray = new Array()

for(i<0;i<objXML.firstChild.firstChild.length){
if(objXML.firstChild.firstChild.childNodes[i].attributes.menu == "index"){
menuIndexArray.push("objXML.firstChild.firstChild.childNodes[i].attributes.mediaPath")
}
}

Det jeg gør er at jeg laver et array for hver menupunkt du har (i dette eksempel er der kun 1). Så går jeg hele dit XML dokument igennem for at sortere den i de forskellige arrays.

Til sidst ender du så med ligeså mange arrays som du har menupunkter, og du kan nemmere styre de billeder der bliver vist...

Var det sådan noget du havde tænkt dig?

Du behøver heller ikke sortere i et array - det hele kommer også an på hvordan din flash er lavet...send mig evt filerne så kan jeg tage et hurtigt kig på det

info@de-silva.dk
Avatar billede docks Nybegynder
05. august 2005 - 12:00 #2
menuIndexArray.push(objXML.firstChild.firstChild.childNodes[i].attributes.mediaPath)

hov var lige en fejl i denne linie...
Avatar billede rafix Nybegynder
05. august 2005 - 12:34 #3
sender på mail nu :)
Avatar billede rafix Nybegynder
17. august 2005 - 13:22 #4
jeg prøver med en anden løsning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester