16. december 2002 - 15:22Der 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>
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
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!
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?
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?
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?
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:(
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
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?
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...
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; } } } }
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>
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...
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...:/
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?
<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?
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...
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...
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)
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.