20. marts 2003 - 13:17Der er
14 kommentarer og 1 løsning
Lægge variabler sammen. (special)
Jeg har en txt fil som hedder quiz.txt, som indeholder to variabler sp1 og sp2.
&sp1=Hvornår udkom American Conquest? &sp2=Hvor mange soldater kan der deltage i et slag på en gang?
Jeg henter variablerne fra tekstfilen ind med denne kommando:
loadVariablesNum("quiz.txt", 0); stop();
Jeg har et dynamisk input felt hvor der i variabel feltet står følgende kode:
_root.sp1
Hvorved at variablen sp1 fra txt filen vises.
Derudover er der en variabel som vi kalder for I, i det her tilfælde kan den have to værdier enten 1 eller 2. Det jeg ønsker er at hvis den har værdien 1, så er det variablen sp1 der vises i mit dynamiske input felt og hvis den har værdien 2, så er det variablen sp2 der vises i mit dynamisk input felt.
Hej K Ked af at jeg ikke har formuleret mig helt klart vedr. variablen I, for nej den ligger ikke i text filen, men bliver sat i den første frame, så hvordan gør man så. Selve input feltes instance name kunne vi kalde for "input" Glæder mig til at høre fra dig, det ser spændende ud det du kommer med.
...du skal dog ligge mærke til, at du først skal have hentet variablene fra dit teksdokument, før du kan køre if-sætningen og få den til at køre. Det kan gøres på mange måder, men det jeg synes er nemmest, er, at bruge onClipEvent(data) på et mc du har liggende, og hente variablene ind dér. I stedet for loadVariablesNum("quiz.txt", 0); hvor du loader ind i level 0, skal du i stedet hente ind med loadVariables("quiz.txt", mc); - scriptet, som ligger på dit mc med instance name "mc", kommer så til at se sådan her ud:
HA - du forstår da også at gøre det for nemt, mat :o) - Fatter først nu, at der måske er en direkte sammenhæng imellem I og den variabel der skal hentes ind....? For så er det jo præcist så enkelt som mat gør det til....
Dog kan man ikke angive sit tekstfelts variabel til at være "_root['sp'+i]"...
Hvis du dynamisk skal kunne ændre dit tekstfelts indhold, så skal du have en eller anden funktion (ved knap tryk eller på enterFrame) der tjekker værdien af "i" og opdaterer tekstfeltet derefter...
Jeg forklarer lige baggrunden for det jeg ønsker, for jeg kan se at det giver lidt misforståelse, at jeg ikke har forklaret den del af det.
Det jeg ønsker er at jeg har en tekst fil ”quiz.txt”, som skal indeholde alle mine spørgsmål og svar til en quiz, lad os forstille os at der ligger 10 spørgsmål (fra sp1 til sp10) og 10 svar fra (sv1 til sv10).
Jeg forstiller mig ligeldes at jeg har to scener inde i min movie. En startside (scene1) hvor jeg bruger nedennævnte kommando til at hente variablerne ind fra teksfilerne ind.
loadVariablesNum("quiz.txt", 0); stop();
På scene1 er der en knap til quizdelen (scene2). I frame 1 i scene2 er der en random som kan genererer et tilfældigt tal fra 1 til 10 og den variabel hedder I, så hvis det tilfældige tal er 8, så er I = 8, og så fremdeles.
Det som jeg så ønsker er at spørgsmål 8 (sp8 fra min txt fil quiz.txt) vises i mit dynamiske tekstfelt, og er værdien I = 2, så er det spørgsmål 2 der vises i mit dynamiske tekstfelt og så fremdeles.
Til at skifte mellem de forskellige spørgsmål er en knap som vi kunne kalde for ”næste spørgsmål”.
Håber det giver mere klarhed om hvad det er som jeg har brug for. Personligt tror jeg at mat og barklund er tættest på løsningen, og jeg har prøvet det I snakker om, men kan ikke få det til at fungere, så en mere specifik forklaring baseret på mit mit sidste oplæg vil være fedt.
Hej mat Det er fungerer fint, når det hele ligger i selve movien, men hvad gør jeg når jeg ønsker at ovennævnte variabler ligger i en txt fil, som vi kunne kalde quix.txt?
I din tekst-fil formatterer du variablerne som sp1=næsehorn&sp2=spidsmus&sp3= osv osv, og så bruger du din loadVariables, bare vær opmærksom på at variablerne tager et øjeblik om at blive indlæst i flash hvorfor det er en god ide at lave et lille loop, der tjekker om de er kommet ind inden de bliver assignet til tekstfelter.
Så fandt jeg ud af det. Problemet var at Flash bliv forvirret når jeg både ville loade variabler og samtidig tilskrive nye variabler og så få dem vist i det dynamiske input felt i samme frame.
Jeg løste det ved at dele min movie op i to scener, og hvor der så er en knap på den første, så når flash at få variablerne ind inden jeg når at trykke på knappen.
Jeg er overmåde tilfreds med dit svar mat, vil du ha alle 60 point eller syntes du at barklund skal have de 20 af dem?
Okay Barklund, men du hjælper mere end du aner, men når du ikke vil have noget for dine gode råd, så går hele puljen til mat, som også har gjordt det godt.
Tak for hjælpen alle tre, nu kan jeg lave de quizer jeg ønsker mig - tak for det. xbobby :-))
Synes godt om
Ny brugerNybegynder
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.