Avatar billede sirbatman Nybegynder
06. september 2006 - 09:18 Der er 11 kommentarer

dynamisk text under en mask

Hej der.....

Jeg har et dynamisk tekst område der ligger under en mask, i dette tekst område skal der loades en XML fil ind.
Det virker kun når jeg trykker på Ctrl-Shift og ser min fil der, hvis jeg starter hele sitet op og trykker på min index fil, bliver der ikke vist noget i mit tekst område.

Grunden til at der er en mask er at den skal bruges i forbindelse med en scroll bar.

Jeg har sat character til og tilført æ ø og å

Hvad gør jeg for at min XML bliver vist i mit tekst område?
Avatar billede _k Nybegynder
06. september 2006 - 10:22 #1
Er du sikker på at xml-filen rent faktisk bliver indlæst? Du kan f.eks. smide et test-tekstfelt ind på din stage som du så kan skrive i når filen er loadet (i .onLoad-metoden). På den måde kan du finde ud af om det er i load eller parsing af xml'en fejlen ligger.

Derudover skal du embedde tekst i dynamiske tekstfelter som ligger under en maske (altså et helt karaktersæt og ikke kun æ,ø og å). Det burde dog ikke være det der er problemet, hvis du kan se teksten fint når du swf'er fra Flash....
Avatar billede fredeboss Nybegynder
06. september 2006 - 10:49 #2
Hvor loader du xml-en fra. Hvis du loader xmlen fra en anden server en den siden ligger på giver det en del problemer .....
Avatar billede sirbatman Nybegynder
06. september 2006 - 12:42 #3
hej K jeg har også valgt hele karaktersæt og ikke kun æøå.
Jeg kan som sagt godt se min tekst når jeg kører filen fra flash, men ikke når den er i min browser.

Jeg mistænker min mask for at lave problemerne, men jeg kan ikke fjerne den da den er en del af en min scroll bar.


fredeboss, jeg har min xml samme sted som min swf, altså samme server og samme mappe

Hvis der nogle der kan hjælpe så er filen her  http://www.coolstarter.dk/demomp3/zip/scrool.zip
Avatar billede _k Nybegynder
06. september 2006 - 13:27 #4
Selv oplever jeg ikke problemet? Måske er det fejlene i XML-dokumentet der driller? Prøv at lave mellemrum efter "encoding" i toppen og smid dit html-formaterede indhold ind i <![CDATA[ ]]> tags. Noget i retning af:

<?xml version="1.0" encoding ="utf-8"?>
<fadingText>
    <text><![CDATA[
    <B>Hello this is a test</B><br>Lad os nu se hvordan det går når man skriver noget i et XML dokument og gerne vil have det

over i flash på en dynamisk måde.
    <a href="http://www.coolstarter.dk" target="_blank">Jakob</a><br>lækasjdf
    ]]></text>
</fadingText>

..hvis det ikke hjælper, kan du så ikke lave et link til der hvor du tester filen?
Avatar billede sirbatman Nybegynder
06. september 2006 - 14:44 #5
Hej K
jeg har prøvet det du foreslår men det der sker nu er at min html ikke bliver læst rigtigt så nu kommer alle mine tags med i teksten, ellers er det, det samme som før jeg kan ikke se teksten når jeg køre siden i min browser.

http://www.ctrl-design.dk/golf/
Her er siden, det er under nyheder jeg har problemet.

De andre steder på siden hvor der er scroll, der er teksten lagt ind i swf'en, derfor virker de.
Avatar billede _k Nybegynder
06. september 2006 - 18:37 #6
Loader du din swf ind i en anden swf? For gør du det, går der kludder i dine referencer.

Slet alle dine "_root" i fla'en.

Når du anvender <![CDATA[]]> skaber du en valid XML. Hvis du barer fyrer html-tags af inde i et XML-tag ødelægger du strukturen. Jeg skal lade det være usagt hvor galt det rent faktisk går i Flash, men du kan ligeså godt vænne dig til det, for alle andre steder vil det skabe fejl (og det vil det også i AS3). Du kan tjekke validiteten af din XML ved at dragge den ind i Internet Explorer/Firefox.

Du kan måske få din HTML-formatering tilbage ved at benytte "this.firstChild.childNodes.nodeValue" i stedet for "this.firstChild.childNodes"
Avatar billede sirbatman Nybegynder
07. september 2006 - 08:30 #7
Jeg loader xml filen ind i den swf den bliver kaldt fra.

Jeg har slettet alle mine html tags, har også prøvet med "this.firstChild.childNodes.nodeValue" men det virker ikke.

Problemet er min mask men hvordan viser jeg noget dynamisk tekst bag en mask?
Avatar billede _k Nybegynder
07. september 2006 - 09:26 #8
Det kan ikke være maskningen af tekst den er gal med, hvis det virker når du tester i Flash.

Det jeg mente med ovenstående var, at det for mig ser ud som om du har en "hoved"-swf som du loader alle underafsnit ind i. Den loader så undersiderne enten med loadMovie() eller MovieClipLoader().
Er det tilfældet, sker der 2 ting som kan forårsage dine problemer:
1: _root i den swf der loader din XML, bliver overtaget af "hoved"-swf'ens _root. Dvs. at referencen til dine mc'er bliver forkert
2: Den relative placering af XML-dokumentet i forhold til den swf der loades ind i KAN være ændret. Når du kigger efter minXML.xml kigger den nu ved siden af "hoved"-swf'en og IKKE ved siden af din scrool_1.swf

Som jeg startede med at sige, kunne det nok hjælpe hvis du smed et test-tekstfelt ind i din swf og udskrev om xml-filen blev fundet eller ej. Er det fedt? Nej, men det er sådan man tester og bliver klogere på hvad der sker og hvor fejlen ligger.

...hvis du kalder din scrool_.swf direkte, virker det så ikke? Prøvede selv at smide det op på en anden server og det virker upåklageligt hos mig....
Avatar billede _k Nybegynder
07. september 2006 - 09:40 #9
..hov, glemte lige at forklare hvorfor du ikke kan se din html-formatering.

For det første bør du hente din tekst med: this.firstChild.firstChild.firstChild.nodeValue

Og så er du i den "heldige" situation at du bruger en maske og derfor embedder et karaktersæt. Det betyder at tekstfeltet kun kan vise de karakterer som er blevet embeddet. I dit tilfælde har du ikke embeddet fed font - og det sjove er, at du heller ikke kan embedde den samtidig med normal font ;)
Der er flere løsninger på problemet, men den nemmeste er nok at lave et tekstfelt mere, sætte fonten i tekstfeltet til at være fed og embedde de samme karakterer som i dit andet tekstfelt. Tekstfelte placerer du så bare off stage eller gemmer det under noget grafik.
Yep, masker ER besværlige i Flash....
Avatar billede sirbatman Nybegynder
07. september 2006 - 10:03 #10
Hej K

Jeg er nød til at se på en anden opgave så jeg er først tilbage om et stykke tid.

MEN MANGE TAK FOR HJÆLPEN.

Har givet dig karma, meget karma da det er fedt at du gider hjælpe mig.
Avatar billede _k Nybegynder
07. september 2006 - 10:13 #11
Tak, tak.

Vend bare tilbage til tråden når du får kigget på det igen - både hvis det går godt eller du støder ind i problemer. Karma er godt, men det er nu federe at høre at folk får tingene til at virke ;)

Held og lykke med det.
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