Avatar billede gybe Nybegynder
18. august 2006 - 13:19 Der er 9 kommentarer og
1 løsning

Sætte link i tekstfelt til gotoAndStop(2);

Hej Eksperter,

Jeg har i Flash et tekstfelt med en længere tekst. Et af ordene i denne tekst skal fungere som et link. Det er mig ikke noget problem at tilføje en URL i feltets Properties-palette, sagen er blot at det ikke er et eksternt link jeg skal tilknytte ordet, men derimod en gotoAndStop(2); så man ryger til frame 2 ved klik på ordet - er det muligt?
Avatar billede thulstrup Nybegynder
18. august 2006 - 13:35 #1
text_txt.html = true;
text_txt.htmlText = "<a href='asfunction:gotoAndStop,2'>gå til frame 2</a>";
Avatar billede gybe Nybegynder
18. august 2006 - 13:39 #2
Smukt, tak :) Lad mig få et svar.
Avatar billede thulstrup Nybegynder
18. august 2006 - 13:49 #3
Det får du her :)
Avatar billede gybe Nybegynder
18. august 2006 - 14:04 #4
Må jeg i øvrigt stille et tillægsspørgsmål... Teksten i mit tekstfelt loades fra en XML-fil. I XML-filen har jeg en række ord, hvoraf et af dem har tagget <b></b> omkring sig, da jeg ønsker dette ord i bold. Men når den loades ind i tekstfeltet i Flash står der blot <b>ord</b>, og altså ingen bold.
HTML-formatering af tekstfeltet er sat til.
Avatar billede thulstrup Nybegynder
18. august 2006 - 14:41 #5
Hvordan ser din xml ud og hvordan loader og parser du den?

Det lyder til at dine tags bliver konverteret til html entities. Dvs. <b> bliver til &lt;b&gt;
Avatar billede gybe Nybegynder
18. august 2006 - 14:54 #6
Præcis, når teksten udskrives i tekstfeltet i Flash skriver den <b></b>, og laver jeg en trace på den får jeg &lt;b&gt;

Min XML-fil ser således ud:

<?xml version="1.0" encoding="utf-8"?>
<content>
    <headline title="Title 1">
        <![CDATA[Her er <b>noget</b> tekst.]]>
    </headline>
      <headline>
      ...
      ...
</content>



I Flash kører jeg dette:

var XMLDoc = new XML();

XMLDoc.load("content.xml");
XMLDoc.ignoreWhite = true;

XMLDoc.onLoad = function() {
    populateTextfield();
}

... og populateTextfield() kører en for-løkke igennem hvor den udskriver CDATA i alle "headline" fra XML'en.
Avatar billede gybe Nybegynder
18. august 2006 - 15:16 #7
Update: Efter at have kørt en funktion der hopper til frame 2 og udskriver indholdet af CDATA i et andet tekstfelt, fungerer bold nu som det skal. Men jeg skal blank erkende at jeg ikke forstår hvorfor, da det nye tekstfelt på frame 2 har samme egenskaber som det jeg testede i på frame 1.
Avatar billede gybe Nybegynder
18. august 2006 - 15:29 #8
Nu driver jeg godt nok lidt rovdrift på dig, men jeg stødte på en sidste ting undervejs jeg ikke kan forlige mig med. I forbindelse med at jeg kører min for-løkke, er jeg interesseret i at smide indholdet af CDATA ned i en variabel med et unikt navn, jeg kan loade når der klikkes på det tilhørende link.
Jeg har forsøgt mig med noget a la...

for(i=0; i<XMLitems.length; i++) {
  variabelnavn[i] = XMLitems.firstChild;
}

... og variationer heraf, men det giver syntax error. Jeg er kommet udenom ved at oprette et tomt movieclip med createEmptyMovieClip for hver gennemløbning af for-løkken. I hvert movieclip gemmer jeg så den aktuelle variabel, men det forekommer mig noget overflødigt at skulle oprette tomme movieclips for blot at gemme en variabel i dem. Kan jeg gøre det på en smartere måde?

Og så skal jeg nok stoppe med at spørge nu :)
Avatar billede thulstrup Nybegynder
18. august 2006 - 16:11 #9
prøv med:

for(i=0; i<XMLitems.length; i++) {
  _root["variabelnavn"+i] = XMLitems.firstChild;
}
Avatar billede gybe Nybegynder
18. august 2006 - 16:17 #10
Det er jo fantastisk! Mange tak for den kompetente hjælp :)
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