Avatar billede p_r Nybegynder
16. december 2002 - 15:22 Der er 30 kommentarer og
1 løsning

flash og xml....kan ikke få filmen vist;(

hej!

Sidder med en opgave i flash og xml, som jeg ikke kan få til at virke. Har oprettet tekst felter o.s.v., men hverken teksten eller billederne bliver vist, når jeg forsøger at teste filmen. Mit actionscript ser sådan ud:
// opret XML-objekt
dokument = new XML();
// fortæl, hvad der skal ske, når XML-objektet er loaded
dokument.onLoad = convertXML;
// udskriv, at der sker noget
tekstfelt = "Henter data...";
// hent XML-objekt
dokument.load("vejr.xml");
function convertXML () {
    // giv besked om, at data er hentet
    // OPRETTELSE AF VARIABLE
    // opret XML-objekt til at indeholde rodelement
    hovedelement = new XML();
    // opret XML-objekt til at indeholde vejrelement
    dataelement = new XML();
    // opret Array til at indeholde alle vejrtyperne
    vejrliste = new Array();
    // opret Array til at indeholde data for hver vejrtype
    dataliste = new Array();
    // SLUT OPRETTELSE AF VARIABLE
    // hent rodelementet ind i "hovedelement"
    hovedelement = this.firstChild.nextSibling;
    // hent alle vejrtyperne ind i vejrlisten
    vejrliste = hovedelement.childNodes;
    // gennemløb alle vejrtyper
    for (i=0; i<vejrliste.length; i++) {
        // hent de elementer, der indeholdes i hver vejrtype
        dataliste = vejrliste[i].childNodes;
        // gennemløb vejrdata for at hente de relevante data
        for (j=0; j<dataliste.length; j++) {
            // hent vejrelementet ind i "dataelement"
            dataelement = dataliste[j];
            // udskrift af kategori
            if (dataelement.nodeName.toLowerCase() == "kategori") {
                kategori = dataelement.firstChild.nodeValue;
            }
            // udskrift af beskrivelse
            if (dataelement.nodeName.toLowerCase() == "beskrivelse") {
                beskrivelse = dataelement.firstChild.nodeValue;
            }
            if (dataelement.nodeName.toLowerCase() == "x") {
                _root.vegetar._x = dataelement.firstChild.nodeValue;
            }
            if (dataelement.nodeName.toLowerCase() == "y") {
                _root.vegetar._y = dataelement.firstChild.nodeValue;
            }
        }
    }
}

-Og min xml-fil ser således ud:

<?xml version="1.0">
<vejrudsigt>
<beskrivelse>
<blaest>I dag bliver det blæsevejr</blaest>
<kategori>blaest</kategori>
<x>200</x>
<y>200</y>
</beskrivelse>
<beskrivelse>
<sol>I dag bliver det solskin</sol>
<kategori>solskin</kategori>
<x>200</x>
<y>200</y>
</beskrivelse>
<beskrivelse>
<sne>I dag bliver det snevejr</sne>
<kategori>snevejr</kategori>
<x>200</x>
<y>200</y>
</beskrivelse>
<beskrivelse>
<regn>I dag bliver det regnvejr</regn>
<kategori>regnvejr</kategori>
<x>200</x>
<y>200</y>
</beskrivelse>
<beskrivelse>
<regnlidtsol>I dag bliver det regnvejr, men dog med lidt sol indimellem</regnlidtsol>
<kategori>regn med lidt sol</kategori>
<x>200</x>
<y>200</y>
</beskrivelse>
<beskrivelse>
<storm>I dag bliver det stormvejr</storm>
<kategori>storm</kategori>
<x>200</x>
<y>200</y>
</beskrivelse>
<beskrivelse>
<styrtregn>I dag bliver det kraftigt regnvejr</styrtregn>
<kategori>styrtregn</kategori>
<x>200</x>
<y>200</y>
</beskrivelse>
<beskrivelse>
<taage>I dag bliver det taaget</taage>
<kategori>taage</kategori>
<x>200</x>
<y>200</y>
</beskrivelse>
</vejrudsigt>

Håber der er nogen der kan hjælpe!
Avatar billede p_r Nybegynder
16. december 2002 - 15:26 #1
Når jeg forsøger at afspille filmen, er der en fejlmelding, der siger, at Url'en ikke kan åbnes....
Avatar billede barklund Nybegynder
16. december 2002 - 15:26 #2
Din xml er ikke i ordentlig syntaks: I øverste linie åbner du en tag, der hedder <?xml>, men du slutter den aldrig! Derfor kommer der intet ind i flash... Du kunne klare det ved at lave en <?xml ... />, men du kan også helt droppe linie, da flash er ligeglad!
Avatar billede barklund Nybegynder
16. december 2002 - 15:28 #3
Så er problemet vel, at urlen ikke kan åbnes :o)

Filerne ligger i samme mappe, eller?
Avatar billede p_r Nybegynder
16. december 2002 - 15:31 #4
Har prøvet at lave det om -og filerne ligger i samme mappe....forstår det ikke...
Avatar billede barklund Nybegynder
16. december 2002 - 15:33 #5
Hvis problemet er, at flash brokker sig over, at der ikke er en xml-fil der, hvor du angiver det, så er det her, problemet ligger... Har du prøvet at køre filmen uden for flash-miljøet i fx. en browser?
Avatar billede p_r Nybegynder
16. december 2002 - 15:36 #6
ja...det virker heller ikke:(
Avatar billede barklund Nybegynder
16. december 2002 - 15:40 #7
Der må være en fejl... Det har altid virket på den måde... Du har vel husket at fjerne alt det whitespace der er mellem noderne? Altså ingen linieskift eller mellemrum...

Hvis du åbner i en browser, kan du så se XML-filen?
Avatar billede p_r Nybegynder
16. december 2002 - 15:46 #8
ja...det kan den godt, men vil ikke vise teksten i filmen -kun et par stykker af billederne
Avatar billede barklund Nybegynder
16. december 2002 - 16:08 #9
Når den viser nogle af billederne, er det så en forskel i forhold til flash-filmen kørt inde fra flash? Er der nogen form for indikation af, at den har læst noget som helst?
Avatar billede p_r Nybegynder
16. december 2002 - 16:26 #10
nu er det gået helt galt....når jeg dobbeltklikker i den første frame for at få mit actionscript frem, kommer "sound-indstillingen" frem i stedet for...kan slet ikke få vist mit actionscript nu:(
Avatar billede barklund Nybegynder
16. december 2002 - 16:39 #11
Højreklik på din frame og vælg "actions"... Det lyder dog som om, at din actions vindue er røget uden for din desktop... Gå op i windows=>panel sets=>default
Avatar billede p_r Nybegynder
16. december 2002 - 16:42 #12
har fundet dem frem nu....tak! -Er lidt en begynder i det her, men har fået en opgave, som snart skal afleveres. Prøver lige at kigge på det hele igen. Må jeg så skrive tilbage til dig, hvis det ikke virker?
Avatar billede barklund Nybegynder
16. december 2002 - 17:21 #13
Selvfølgelig... Vær dog opmærksom på, at jeg ikke har flash, så jeg kan ikke debugge for dig... Men jeg har brugt XML og Flash til tonsvis af projekter, så jeg har lidt erfaring med det...
Avatar billede p_r Nybegynder
16. december 2002 - 17:34 #14
ok...tusind tak -men det hjæper ikke, hvis jeg sender det til dig på en mail, så du kan kigge på det, vel?
Avatar billede barklund Nybegynder
16. december 2002 - 17:43 #15
Jeg har ikke flash ved hånden, da jeg sidder på en unix-terminal på DTU og skriver kedelige rapporter, så nej... :o)
Avatar billede p_r Nybegynder
16. december 2002 - 17:51 #16
ok...men hvis du har tid på et tidspnkt, må du da meget gerne kigge på det jeg har lavet alligevel....lige nu er min problem, at jeg ikke kan få vist billederne, som de skal. Skal have vist 8 billeder i det hele, men de skal vises sammen med hver sin tekst. Lige nu kan jeg kun se alle billederne på én gang helt ovre í den ene side af scenen. Skulle nok have hørt lidt mere efter i timerne....
Men mit action-script ser nu sådan ud:
// opret XML-objekt
dokument = new XML();
// fortæl, hvad der skal ske, når XML-objektet er loaded
dokument.onLoad = convertXML;
// udskriv, at der sker noget
tekstfelt = "Henter data...";
// hent XML-objekt
dokument.load("vejr.xml");
function convertXML () {
    // giv besked om, at data er hentet
    if (this.loaded) {
        tekstfelt = "Data er hentet og behandles nu.";
    }
    // OPRETTELSE AF VARIABLE
    // opret XML-objekt til at indeholde rodelement
    hovedelement = new XML();
    // opret XML-objekt til at indeholde vejrelement
    dataelement = new XML();
    // opret Array til at indeholde alle typerne
    beskrivelse = new Array();
    // opret Array til at indeholde data for hver type
    dataliste = new Array();
    // SLUT OPRETTELSE AF VARIABLE
    // hent rodelementet ind i "hovedelement"
    hovedelement = this.firstChild.nextSibling;
    // udskriv, hvad det element hedder, vi har fat i
    tekstfelt = tekstfelt+"<br>";
    tekstfelt = tekstfelt+"Vi har fat i:";
    tekstfelt = tekstfelt+hovedelement.nodeName;
    // hent alle vejrtyperne ind i beskrivelsen
    beskrivelse = hovedelement.childNodes;
    // slet indhold af tekstfelt
    tekstfelt = "";
    // gennemløb alle vejrelementer
    for (i=0; i<beskrivelse.length; i++) {
        // hent de elementer, der indeholdes i hver type
        dataliste = beskrivelse[i].childNodes;
        // gennemløb vejrdata for at hente de relevante data
        for (j=0; j<dataliste.length; j++) {
            // hent vejrelementet ind i "dataelement"
            dataelement = dataliste[j];
            // udskrift af vejrudsigt
            if (dataelement.nodeName.toLowerCase() == "kategori") {
                kategori = dataelement.firstChild.nodeValue;
            }
            // udskrift af beskrivelse
            if (dataelement.nodeName.toLowerCase() == "blaest") {
                blaest = dataelement.firstChild.nodeValue;
            }
            // udskrift af billede
            if (dataelement.nodeName.toLowerCase() == "x") {
                _root.blaest2._x = dataelement.firstChild.nodeValue;
            }
            if (dataelement.nodeName.toLowerCase() == "y") {
                _root.blaest2._y = dataelement.firstChild.nodeValue;
            }
        }
    }
}
Avatar billede p_r Nybegynder
16. december 2002 - 18:15 #17
og mit xml-dokument ser sådan ud:
<?xml version="1.0" ?>
<vejrudsigt>
<beskrivelse>
<kategori>Vejrudsigt</kategori>
<blaest>I dag bliver det blæsevejr</blaest>
<x>350</x>
<y>350</y>
</beskrivelse>
<beskrivelse>
<kategori>Vejrudsigt</kategori>
<sol>I dag bliver det solskin</sol>
<x>350</x>
<y>350</y>
</beskrivelse>
<beskrivelse>
<sne>I dag bliver det snevejr</sne>
<kategori>Vejrudsigt</kategori>
<x>350</x>
<y>350</y>
</beskrivelse>
<beskrivelse>
<regn>I dag bliver det regnvejr</regn>
<kategori>Vejrudsigt</kategori>
<x>350</x>
<y>350</y>
</beskrivelse>
<beskrivelse>
<regnlidtsol>I dag bliver det regnvejr, men dog med lidt sol indimellem</regnlidtsol>
<kategori>Vejrudsigt</kategori>
<x>350</x>
<y>350</y>
</beskrivelse>
<beskrivelse>
<storm>I dag bliver det stormvejr</storm>
<kategori>Vejrudsigt</kategori>
<x>350</x>
<y>350</y>
</beskrivelse>
<beskrivelse>
<styrtregn>I dag bliver det kraftigt regnvejr</styrtregn>
<kategori>Vejrudsigt</kategori>
<x>350</x>
<y>350</y>
</beskrivelse>
<beskrivelse>
<taage>I dag bliver det taaget</taage>
<kategori>Vejrudsigt</kategori>
<x>350</x>
<y>350</y>
</beskrivelse>
</vejrudsigt>
Avatar billede barklund Nybegynder
16. december 2002 - 18:54 #18
Er det bare mig, eller laver du et loop, hvor du for hver "beskrivelse" sætter variablen "kategori" til at være denne beskrivelses kategori, og det er altså den samme variabel du sætter, for alle beskrivelserne...

Og hvorfor looper du dem alle samme igennem, men sætter kun "blaest"-variablen, hvis det er blæst, som du har fat i... Kan du ikke forklare helt specifikt, hvad det er, at du er ude på, for jeg forstår det simpelthen ikke...
Avatar billede p_r Nybegynder
16. december 2002 - 19:03 #19
hehe....det kan jeg godt forstå. Jeg har fået en eksamensopgave, hvor jeg skal forestille mig at vejrtjenesten skal lægge dagens vejrudsigt ud på deres hjemmeside i form af en animation. Vejrtjenesten skal selv kunne opdatere vejrudsigten dagligt i form af en simpel XML-fil som styrer Flash-applikationen. Applikationen skal altså indeholde animerede billeder af sol, regn sne....og XML-filen skal så indehold oplysninger der kan styre, hvilken grafik, der skal vises sammen med teksten.
Grunden til at det er den samme kategori hele tiden, er at overskriften skal være den samme i dem alle -nemlig "vejrudsigt". Men hvis jeg skal være helt ærlig, har jeg faktisk ikke særlig meget styr på, hvad det er jeg laver. -Ville være sindssyg dejligt at få lidt hjælp...:/
Avatar billede barklund Nybegynder
16. december 2002 - 19:34 #20
Så det giver altså ingen mening, at du har en XML-fil, hvor vejret bliver defineret 8 gange - det er jo kun et "vejr" ad gangen... Altså vil der i XML-filen være en vejr-udsigt med kun en beskrivelse, eller?
Avatar billede barklund Nybegynder
16. december 2002 - 19:38 #21
Jeg ville strukturere XML'en som f&#65533;lger:

<vejrudsigt kategori="Vejrudsigt" type="Storm" beskrivelse="I dag kommer det til at storme" x="350" y="350" />

For mere information skal der vel egentlig ikke til den enkelte vejrudsigt... Og skal de der koordinater overhovedet med? Skal vejrtjenesten da bestemme, hvor grafikken bliver vist henne?
Avatar billede barklund Nybegynder
16. december 2002 - 19:38 #22
Årh hvad... Hvad skete der for mit "ø"?
Avatar billede p_r Nybegynder
16. december 2002 - 20:18 #23
hmmm....kan godt se hvor du vil hen...har bare kun lært det på den anden måde..jeg prøver lige at kigge lidt mere på det, men giver sgu' snart op:(
Avatar billede p_r Nybegynder
16. december 2002 - 21:18 #24
men troede egentlig at jeg godt kunne definere vejret 8 gange i én xml-fil og så bare forsøge at trække de data ud, som jeg skulle bruge til de forskellige vejrtyper...
Avatar billede barklund Nybegynder
17. december 2002 - 11:57 #25
Du kan sagtens definere vejret 8 gange i samme fil, men giver det mening i virkeligheden? Vejret har vel kun en tilstand? Du kan sagtens lave det således, at der er en beskrivelse af hver type vejr, og så tilsidst dagens vejr-type, så man så kan få beskrevet af de øvrige...
Avatar billede p_r Nybegynder
17. december 2002 - 21:44 #26
Du har helt ret i, at jeg kun skal definere ét slags vejr i xml-filen -tror vist det var det, der var den store fejl. Nu kan jeg bare ikke få vist mine billeder, men det skal jeg nok finde ud af -det er nok bare en lille dum fejl. Kan du ikke skrive et "svar", så jeg kan give dig pointene for din indsats? (og mange tak for at du gad at kigge på det)
Avatar billede p_r Nybegynder
17. december 2002 - 22:32 #27
men du må da meget gerne skrive, hvis du kan se ud fra flg., hvorfor mine billeder ikke kan blive vist...:
       
            if (dataelement.nodeName.toLowerCase() == "kategori") {
                var kat = dataelement.firstChild.nodeValue;
            }
            if (dataelement.nodeName.toLowerCase() == "x") {
                _root.blaest2._x = dataelement.firstChild.nodeValue;
            }
            if (dataelement.nodeName.toLowerCase() == "y") {
                _root.blaest2._y = dataelement.firstChild.nodeValue;
            }
Avatar billede p_r Nybegynder
17. december 2002 - 22:46 #28
har selv fundet ud af det -nu virker det hele:) Men bare gå ind og skriv et eller andet som svar, så jeg kan give dig pointene.
Avatar billede barklund Nybegynder
17. december 2002 - 23:32 #29
Et svar :o) Men ikke alle de mange point - så meget hjalp jeg vist heller ikke..
Avatar billede p_r Nybegynder
15. januar 2003 - 11:27 #30
ligemeget -du gav dig jo tid til det alligevel;)
Avatar billede barklund Nybegynder
15. januar 2003 - 11:41 #31
så tak da...
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