Avatar billede troelslh Nybegynder
11. august 2004 - 11:09 Der er 19 kommentarer og
1 løsning

Vil ikke loade ekstern tekst

Hej

Jeg forsøger at loade en ekstern tekst ind i en flash. Min tekst skal ligge i:

text_mc > mc_referencer >navigation > _root

Jeg ved ikke hvad jeg skal skrive i loadVariables for at få stien rigtig.

//Troels
Avatar billede trekkies Juniormester
11. august 2004 - 11:38 #1
Du skriver ikke hvilket version du bruger, jeg har lavet noget ligene i Flash 5.0

Jeg har lavet en .txt fil, start.txt hedder filen
Jeg lavede en start knap, som skulle starte filmen, der lavede jeg en loadVariablesNum og satte den til URL: start.txt

Jeg laver der efter en tekst boks, men Dynamic Text og Multiline og Variable: text

Jeg har sat en Action på den scene med tekst boksen, og satte denne kode ind text = HTMLpage;

Håber at du kan bruge det.
Avatar billede troelslh Nybegynder
11. august 2004 - 11:50 #2
Jeg bruger Flash MX. Mit problem er at jeg ikke kender så meget til begreberne i Flash så jeg kan godt ha' lidt svært ved at forklare mig. Jeg prøver igen..

Jeg kan loade en ekstern tekstfil ind i et tekstfelt (der ligger i text mc) ved at bruge koden:

loadVariables("txttobeimported.txt", "_this.text mc");

Det virker fint så længe text mc ligger i main timeline. Men når jeg så flytter den ind i mc_referencer (mc) som ligger i navigation (mc) som ligger i main timeline, virker det ikke.

Jeg går ud fra at det er fordi jeg skal rette stien. Jeg ved bare ikke til hvad.
Avatar billede trekkies Juniormester
11. august 2004 - 12:02 #3
text mc, mc_referencer og navigation er det mapper, eller hvad?
Avatar billede troelslh Nybegynder
11. august 2004 - 12:03 #4
Det er movie clips
Avatar billede trekkies Juniormester
11. august 2004 - 12:08 #5
Jeg tror desværre ikke at jeg kan hjælpe, da jeg ikke kender meget til Flash MX, jeg har kun kendskab til Flash 5.0
Avatar billede troelslh Nybegynder
11. august 2004 - 12:09 #6
Tak alligevel...
Avatar billede mat Nybegynder
11. august 2004 - 13:00 #7
Du skal rette stien til:

this.mc_referencer.mitmc; // ..og ingen mellemrum i instancenavne!

Systemet er hierakisk som i:

_root.movieclip1.movieclip2.movieclip3

Her er movieclip3 indeholdt i movieclip2, som igen er indeholdt i movieclip1, der er indeholdt i _root (som er roden).

Hvis du alligevel bruger MX så kan du kigge på LoadVars istedet for loadvariables:

l = new LoadVars();
l.load("some_text.txt");

l.onLoad = function(s) {
if (s) {
some_mc.teksfelt.text = this.min_variabel_i_txt_filen;
} else {
trace("error loading text");
}
}

mvh mat
Avatar billede troelslh Nybegynder
11. august 2004 - 13:39 #8
Min kode ser nu sådan ud. Virker desværre ikke. Hvad gør jeg forkert?

loadVariables("txttobeimported.txt", "this.navigation.mc_referencer.text_mc");
stop();

Jeg har også prøvet dit andet forslag, men ved ikke helt hvor jeg skal sætte mine mc'er ind og hvad der skal erstattes af hvad.
Avatar billede mat Nybegynder
11. august 2004 - 13:53 #9
Der kan bare være flere fejlkilder:

Er dine instancenavne iorden?

Hvor er referencen til tekstfeltet i stien "this.navigation.mc_referencer.text_mc"? text_mc er vel et movieclip der indeholder et tekstfelt? Hvis ja, hvad hedder det? og er det et instancenavn eller et var-navn? (hint, brug instance-feltet og referer således: tekstfelt.text = "bla bla bla")

Din sti er i citationstegn, det kan jeg ikke lide. Det er ikke nødvendigvis en fejl, men  jeg kan bare ikke lide det :)

Hvordan sikrer du dig at dine variabler er loadet FØR du assigner dem til et tekstfelt? (det gør du garanteret ikke, og hvis flash får at vide at et eller andet tekstfelt skal have en variabel der ikke eksisterer endnu, tjah, så ser man ikke ret meget)

Derfor er LoadVars objektet smart, det håndterer det for dig i onLoad() som kaldes når alle variabler er hentet. Ovenstående er et framescript og erstatter hele loadVariables sjasket.

mvh mat
Avatar billede troelslh Nybegynder
11. august 2004 - 14:14 #10
text_mc er en mc der indeholder et tekstfelt med instancenavn: txt

Citationstegn kommer automatisk når man skriver koden..

Det må næsten være noget med stien for det virker perfekt når jeg ligger mc_referencer i main timeline.

//Troels
Avatar billede mat Nybegynder
11. august 2004 - 14:24 #11
"text_mc er en mc der indeholder et tekstfelt med instancenavn: txt" - så har du jo selv sagt det! Så skal det jo hedde:

text_mc.txt.text = variablen;

Og hvis text_mc ligger i et andet moviclip så skriver du bare det foran.
Avatar billede mat Nybegynder
11. august 2004 - 14:28 #12
..og nu roder jeg selvfølgelig loadVars fremgangmåden sammen med loadVariables...Hvis du insisterer på at gøre det på flash 5 måden så er din sti måske rigtig, men du skal så bruge var-navnet på tekstfeltet, og så skal variablen i tekstfilen vist hedde det samme.

Men det er noget sjask! Brug LoadVars, medmindre det er bydende nødvendigt at appelere til flash player 5.
Avatar billede troelslh Nybegynder
11. august 2004 - 15:42 #13
Tak for hjælpen og din tid...

Eller med andre ord: Det er sgu for svært for mig. Det ka' være jeg skal være lidt mindre ambitiøs.

//Troels
Avatar billede mat Nybegynder
11. august 2004 - 15:59 #14
1. Åben notepad og skriv: "minVar=hejsa her er en masse tekst" (uden gåseøjne). Gem den som "tekstfil.txt" (uden gåseøjne)

2. I frame 1 i flash laver du et dynamisk tekstfelt og skriver i instance-ruden i properties: "tekstfelt" (uden gåseøjne). markér tekstfeltet og tryk F8, vælg movieclip, giv det instancenavn "clip" (uden gåseøjne).

Marker frame 1 og find actions, copy paste følgende:

l = new LoadVars();
l.onLoad = function(s) {
if (s) {
clip.tekstfelt.text = this.minVar; // det er her stien angives FØR lighedstegnet
}
else {
clip.tekstfelt.text = "kunne ikke finde filen";
}
}
l.load("tekstfil.txt");

Gem flashfilen samme sted som tekstfilen og test.

mvh mat
Avatar billede trekkies Juniormester
12. august 2004 - 08:40 #15
Hvis du ikke kan få noget hjælp herinde, så kan du købe en bog om Flash MX 2004 for kun 59,-
Her er et link:
http://www.libris.dk/vp.asp?ISBN=87-7843-618-4

Bøgerne kan købes hos DSB og diverse EDB butikker.
Avatar billede troelslh Nybegynder
12. august 2004 - 12:31 #16
Beklager. Jeg har gjort nøjagtigt som du som du sagde, men det virker ikke. Men igen, når man lægger tekstfeltet direkte i main timeline virker det fint (uden "clip" i stien naturligvis).

Tak for hjælpen

//Troels
Avatar billede mat Nybegynder
12. august 2004 - 12:40 #17
Så har du dælendulme ikke gjort nøjagtig som jeg skrev. Hvor skriver du instancenavne på movieclips henne?
Avatar billede troelslh Nybegynder
12. august 2004 - 12:49 #18
Tak!

Du har selvfølgelig ret. det var det jeg havde glemt. Det virker!

Nu må jeg lige prøve at få det til at klappe på mit eget site.

//Troels
Avatar billede mat Nybegynder
12. august 2004 - 13:01 #19
;)
Avatar billede troelslh Nybegynder
12. august 2004 - 14:41 #20
Er der en måde hvorpå man kan loade teksten inden man skal bruge den. Der går 5 sekunder fra man har trykker på knappen og feltet kommer frem, til der er tekst i det?

//Troels
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