Avatar billede elefantspidsmus Nybegynder
29. august 2006 - 13:59 Der er 8 kommentarer

brug af extern variabel til gotoAndStop

Jeg ønsker at bruge loadede variabler til at bestemme udseendet på et billedgalleri med mange udstillere. Jeg starter med at loade antallet af udstillere og antal_billeder for hver ind i _root - i alt 21 variabler. Det fungerer fint.

Dernæst er der en preloader, der sørger for at det landes i startscenen på en bestemt frame v.h.a.
gotoAndStop(_root.antal);

Det giver et bestemt antal menuknapper mellem 1 og 20. Hver knap linker til en ny scene med det samme antal menuknapper, så dette låser ved indgangen. Det fungerer også fint.

På de følgende scener loades et antal thumbnails (movieclip: thumbsload01) ind i 1-20 movieclips. En variabel skal styre hvor mange billeder ved at gå hen til frame med x-antal loadclips. Her går det så galt. Variablen "antal_billeder01" loader fint. Så vil jeg jo mene, at man kan skrive en sti v.h.a. af denne variablel sådan her:
this.thumbsload01.gotoAndStop(_root.antal_billeder01);
i stedet for
this.thumbsload01.gotoAndStop(5);
Det sidste virker. Hvorfor gør det første ikke?

Du vil sikkert smile overbærende og tænke: herregud, er det bare det .. ;-)

på forhånd tak
morten_h
Avatar billede miqe Nybegynder
29. august 2006 - 14:06 #1
Skal den ikke hedde:
this.thumbsload01.gotoAndStop(antal_billeder01);
i stedet for
this.thumbsload01.gotoAndStop(_root.antal_billeder01);
??
Avatar billede kragekjaer Praktikant
29. august 2006 - 14:52 #2
eller prøv med this.thumbsload01.gotoAndStop(Number(_root.antal_billeder01));
Avatar billede kragekjaer Praktikant
29. august 2006 - 15:05 #3
altså du skal fortælle flash er det er et tal og ikke en streng som du arbejder med.
Avatar billede elefantspidsmus Nybegynder
29. august 2006 - 16:06 #4
til mige og kragekjaer!

hmmm, det virkede ikke.
Jeg har allerede prøvet både med og uden _root, men jeg mener at det må være _root. da variablen er loaded i filmens første frame med:
_root.loadVariables("01/antal_billeder.txt")

Jeg kunne muligvis også ha brugt et
var = new LoadVars ...
altså et load-object, men det giver jo bare flere muligheder, som jeg egentlig ikke har brug for.

I Output vinduet kan jeg se, at variablerne er loaded på _level0. Der er en lille forskel, som jeg ikke kan gennemskue:
Min "antal" variabel, som går fint igennem siger:
Variable _level0.antal = "10";
Den anden, som ikke virker, siger:
Variable _level0.antal_billeder01 = "5\r"

Siger det lille \r noget om problemet?

morten_h
Avatar billede miqe Nybegynder
29. august 2006 - 16:56 #5
Det lille \r er et cariage return. Et kontroltegn der flytter curseren tilbage til starten af linien. I nogle systemer (f.eks.) bruges dette tegn også til at gå til ny linie (lidt a.la return/enter tasten).
Er dog ikke helt obs på om det kan være det der ødelægger det for dig, men tror det er meget muligt.
Avatar billede kragekjaer Praktikant
30. august 2006 - 00:34 #6
Hvis du tracer:

trace(_root.antal) får du "10" derimod hvis du trace(Number(_root.antal)) får du 10

Vigtig forskel
Avatar billede elefantspidsmus Nybegynder
30. august 2006 - 08:34 #7
til mige og kragekjaer!

Hvis I har lyst til at kigge på modellen i form af en .fla ligger der en udgave af projektet, der er reduceret til dette problem.
Der er skrevet 4 kommentarer ind, så den skulle være meget nem at gennemskue.
Den ligger på adr.:
www.mellemsteetage.dk/test_load.zip

morten_h
Avatar billede elefantspidsmus Nybegynder
31. august 2006 - 18:34 #8
Problemet er løst ved at lægge alle variabler i samme dokument og loade dem på een gang. Jeg har ikke eksperimenteret med det, men jeg kan forestille mig, at man godt kan loade variabler fra forskellige dokumenter ved at bruge loadVariable(url, target, method) evt. ved at lave target på _level 0 og _level1 til de forskellige docs.

Eller tak for jeres hovedbrud.

morten_h
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