Avatar billede hehlers Nybegynder
17. marts 2004 - 10:32 Der er 13 kommentarer og
1 løsning

txt fil ind i flash banner

Hejsa

Jeg er lidt af en actionscript noob og har lidt problemer med et banner som skal hente tekster fra en .txt fil.

Der skal stå tre forskellige tekster i txt filen.
Den skal så gøre følgende:
I frame 20-60 skal den vise txt1
60-100 skal den vise txt2
osv.

Jeg har ikke rigtigt rodet med det før, så det kunne være najs, hvis jeg kunne få det beskrevet på en let måde. Og også en forklaring hvordan teksten i txt filen skal stå.

Evt. ekspempler i .fla format.

På forhånd tusind tak. :)
Avatar billede _k Nybegynder
17. marts 2004 - 10:41 #1
1. tekstfilens udseende:
&tekst1=min første tekst&tekst2=min anden tekst&tekst3=min tredje tekst&

2. du laver et dynamisk tekstfelt, som du giver instans-navnet: "tekstfelt". Det skal være i frame 20 og frem.

3. frame på tidslinjen:

stop();
nyLoadVars = new LoadVars();
nyLoadVars.onLoad = function() {
  play();
}
nyLoadVars("navnetPåTekstfilen.txt");


4. på frame 20 kyler du følgende script ind på main timeline
tekstfelt.text = nyLoadVars.tekst1;

5. frame 60:
tekstfelt.text = nyLoadVars.tekst2;

...og så kan du nok godt gætte de sidste framescripts :)
Avatar billede hehlers Nybegynder
17. marts 2004 - 10:57 #2
3. frame på tidslinien, - kan du forklare det lidt nærmere til en Noob som mig. :)
Avatar billede _k Nybegynder
17. marts 2004 - 11:09 #3
Du har en tidslinje øverst. Hvis du ikke allerede har det, så tryk F6 og lav en keyframe (den er ellers i frame 1 som default, så er kun forsvundet hvis du har fjernet den selv ;)
Vælg denne keyframe med musen og åbn dit actionscript panel (F9). Heri skriver du ovenstående script.

Samme procedure (tryk F6 og skriv scriptet) i frame 20, 60 osv.
Avatar billede nikolajdu Nybegynder
17. marts 2004 - 11:41 #4
Nu står der banner - Er det en fil der ligger på andre folks servere???
Avatar billede hehlers Nybegynder
17. marts 2004 - 12:43 #5
nej, det er ikke en fil fra en anden server.. :)

Nu har jeg lavet noget i et layer.
Jeg har en dynamisk textbox der hedder "tekstfelt"

1. I frame1 har jeg en keyframe hvor følgende actions er indskrevet:
stop();
nyLoadVars = new LoadVars();
nyLoadVars.onLoad = function() {
  play();
}
nyLoadVars("mytxt.txt");

2. I frame 20 har jeg så endnu en keyframe med følgende action:
tekstfelt.text = nyLoadVars.tekst1;

3. I frame 60 har jeg en keyframe med denne action:
tekstfelt.text = nyLoadVars.tekst2;

osv osv.

Men det virker ikke. Kan i se hvad jeg gør galt?
Avatar billede _k Nybegynder
17. marts 2004 - 12:51 #6
Du kan i første omgang tjekke om filen rent faktisk bliver hentet ind.

nyLoadVars.onLoad = function() {
  play();
  trace("teksten er hentet");
}

Når du tester i Flash, udskriver den så til output-vinduet når teksten er hentet.
Avatar billede hehlers Nybegynder
17. marts 2004 - 12:54 #7
Den skriver _level0.tekstfelt, så den kunne tyde på at jeg ikke får hentet teksten...
Avatar billede _k Nybegynder
17. marts 2004 - 13:16 #8
øhm, hvad skriver den om tekstfeltet? Ovenstående gennemgang udskriver nemlig ikke andet end "teksten er hentet".
Avatar billede hehlers Nybegynder
17. marts 2004 - 13:23 #9
Jeg er ikke helt sikker på at jeg ved hvad du mener...

Jeg har skrevet følgende actions i frame 1 nu:
stop();
nyLoadVars = new LoadVars();
nyLoadVars.onLoad = function() {
  play();
}

nyLoadVars("mytxt.txt");
nyLoadVars.onLoad = function() {
  play();
  trace("teksten er hentet");
}

Og den skriver stadig level0.tekstfelt

Gør jeg det mon korrekt?
Avatar billede _k Nybegynder
17. marts 2004 - 13:51 #10
Du må have et en linje kode et eller andet sted i din film, som udskriver navnet på tekstfeltet. Prøv at trykke ALT-F3 og kig efter.

Dit tekstfelt skal være dynamisk, er det det?

Ligger din swf og tekstfil i samme mappe?
Avatar billede hehlers Nybegynder
17. marts 2004 - 14:10 #11
Ja, de ligger i samme mappe...

Jeg har på fornemmelsen at den ikke får teksten med, når jeg trykker alt F3 står der empty ud for de forskellige tekster...

DU kan se .fla filen her: http://www.hehlers.dk/txt_eks/txt_eks.fla

Og swf filen her:
http://www.hehlers.dk/txt_eks/txt_eks.swf

Du er en tålmodig mand overfor en newbie som mig .. :) tak for det
Avatar billede _k Nybegynder
17. marts 2004 - 15:19 #12
Først skal du fjerne "tekstfelt" i "vars"-feltet i properties panelet. Det var det som udskrev "level1.tekstfelt".

Dernæst, kan du prøve med en smule optimeret kode (som også tager danske tegn). Bare erstat alt på din første frame:

stop();
System.useCodepage = true;
nyLoadVars = new LoadVars();
nyLoadVars.onLoad = function() {
  trace("teksten er hentet");
  play();

}
nyLoadVars.load("mytxt.txt");

...så skulle den være det ;o)
Avatar billede hehlers Nybegynder
17. marts 2004 - 15:40 #13
tusind takker.. nu virker det...

Har bare et lille problem. - Den vil ikke vise den tekst jeg har som tekst2 i min fil. Den som starter i frame 46...
Avatar billede _k Nybegynder
17. marts 2004 - 16:01 #14
Kanon at det dur' :o)

Du har puttet tekstfeltet ned i et graphic-objekt i frame 46 og frem. Hvis du laver det om til et mc i stedet, kan sagtens virke, men så skal stien laves om når du kalder tekst2:

navnetPåDitNyeMC.tekstfelt.text = nyLoadVars.tekst2;

..og tak for point!
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