Avatar billede jwulff Nybegynder
09. februar 2005 - 13:12 Der er 28 kommentarer og
2 løsninger

Problemer med ActionScript

Heysa, jeg er ved at lave en kode der skal vise nogle spørgsmål i random orden. Den skal heller ikke kunne vise et spørgsmål, som allerede er blevet vist én gang. Men så snart den møder et spørgsmål den har udskrevet en gang, er det at den ikke går videre, men bare stopper op.

http://www.dracos.dk/test.zip

Er der nogle der kan hjælpe?

Med venlig hilsen
Jacob
Avatar billede barklund Nybegynder
09. februar 2005 - 13:18 #1
Kig på side 2 i min artikel om tilfældighed:

http://actionscript.dk/artikler/?a=24&s=2

--
Morten Barklund
Avatar billede barklund Nybegynder
09. februar 2005 - 13:19 #2
Og side 3 sådan set også - den er faktisk mere egnet :)
Avatar billede jwulff Nybegynder
09. februar 2005 - 13:29 #3
Ja, har godt set den, men har stadig problemer med min kode. Er det sådan du kan kigge på den, og fortælle mig hvad der er galt?
Avatar billede rohaje Nybegynder
09. februar 2005 - 21:01 #4
har prøvet at skrive det lidt om, med barklunds shuffle

http://www.rohaje.dk/eksperten/blandSp.fla

se på det og se om det giver mening :)
Avatar billede jwulff Nybegynder
09. februar 2005 - 22:47 #5
Hejsa rohaje, ser godt ud! - dog har jeg nu et problem at den skal gå til en anden frame når der er besvaret 10 spørgsmål, rigtige eller ej, hvor præcis er det så det skal ind i den her kode?
Avatar billede rohaje Nybegynder
09. februar 2005 - 23:26 #6
antallet af spørgsmål defineres af spørgsmålString

og hvad den skal gøre når der ikke er flere skriver du ind i
testSvar funktionen, der hvor den tester
if (sp_index<sp_sv_array.length-1){
....
}else{
//her er der ikke flere spørgsmål;
}
Avatar billede jwulff Nybegynder
10. februar 2005 - 07:16 #7
Ja, men den skal ikke stille alle spørgsmål. Jeg skal have mulighed for at sige at der kun skal stilles 1, 2 eller 3 og den så går videre. selvom der måske er 20 spørgsmål-
Avatar billede rohaje Nybegynder
10. februar 2005 - 07:30 #8
if (sp_index<antalletAfSpørgsmålDuVilStille){
....
}else{
//her er der ikke flere spørgsmål;
}
Avatar billede jwulff Nybegynder
10. februar 2005 - 12:16 #9
Hvor er det præcis at den del af koden skal indsættes? jeg har sat den ind i stedet for:

    if (sp_index<sp_sv_array.length-1) {
        sp_index++;
        displaySpørgsmål();
    } else {
        tekstud.text = "der er ikke flere spørgsmål";
        // eller hvad der nu skal ske når der ikke er flere
        delete tekstind.onKillFocus;
    }
}

Det den skal er, at hvis der re besvaret 4 spørgsmål, skal den hoppe videre til en anden frame, og hvis ikke skal den bare køre videre og stille et nyt
Avatar billede rohaje Nybegynder
10. februar 2005 - 12:17 #10
if (sp_index<4) {
        sp_index++;
        displaySpørgsmål();
    } else {
        tekstud.text = "der er ikke flere spørgsmål";
        // eller hvad der nu skal ske når der ikke er flere
        delete tekstind.onKillFocus;
    }
Avatar billede jwulff Nybegynder
10. februar 2005 - 12:24 #11
Hva så med det at når der er svaret på to spørgsmål skal jeg have den til at gå videre til et andet frame.
Avatar billede jwulff Nybegynder
10. februar 2005 - 12:27 #12
Ahh har fundet ud af det ;) tror jeg nok
Avatar billede barklund Nybegynder
10. februar 2005 - 12:30 #13
Aij, det spurgte du bare ikke om - pinligt! :)

(og et lille bitte svar, men smid bare pointene efter rohaje)
Avatar billede jwulff Nybegynder
10. februar 2005 - 12:35 #14
I kan dele pointne, er det ik fair?

Forresten mange tak!
Avatar billede jwulff Nybegynder
10. februar 2005 - 13:14 #15
Lige sidste spørgsmål. Jeg har sat den til at gå til frame 513 når der er besvaret 2 spørgsmål. Her vil jeg nemlig gerne have udskrevet hvor mange rigtig / forkert man har besvaret.

if (sp_index<1) {
        sp_index++;
        displaySpørgsmål();
    } else {
        gotoandplay(513);
        // eller hvad der nu skal ske når der ikke er flere
        delete tekstind.onKillFocus;
    }
}


Jeg har lavet 2 dynamiske felter, henholdsvis rigtigud og forkertud og i toppen af koden:

rigtigud = rigtigAnt;
forkertud = forkertAnt;

stop();

Dog bliver der ikke udskrevet noget.... hvordan kan det være?
Avatar billede barklund Nybegynder
10. februar 2005 - 13:50 #16
Sikkert fordi du skal skrive:

rigtigud.text = rigtigAnt;
forkertud.text = forkertAnt;

Og så er der ingen grund til at sige gotoAndPlay(513), hvis den skal stoppe dér. Så kan man bare bruge gotoAndStop.

Men vent lige lidt på at rohaje kommer, så kan han få nogle point også :)

--
Morten Barklund
Avatar billede barklund Nybegynder
10. februar 2005 - 13:51 #17
(og giv lige et skud karma :))
Avatar billede rohaje Nybegynder
10. februar 2005 - 13:53 #18
if (sp_index<1) {
        sp_index++;
        displaySpørgsmål();
    } else {
       
        // eller hvad der nu skal ske når der ikke er flere
        delete tekstind.onKillFocus;
        gotoAndPlay(513);
    }
}
Avatar billede rohaje Nybegynder
10. februar 2005 - 13:56 #19
- og som barklund skriver,,

hov, og så lige den her, hvis det er et spørgsmål

if (sp_index<=1) {
Avatar billede jwulff Nybegynder
10. februar 2005 - 21:33 #20
Hej igen....

Jeg ved ikke hvad jeg gør forkert. Jeg henviser til frame 513 via en gotoandstop(513); og den kommer fint der hen,

så prøver jeg at kalde rigtig og forkert via:

rigtigud.text = rigtigAnt;
forkertud.text = forkertAnt;

Jeg har så lavet to dynamiske felter der hedder forkertud og rigtigud, og det samme i var.

Der kommer bare ikke noget frem...?
Avatar billede barklund Nybegynder
10. februar 2005 - 21:56 #21
Tja, har du to variabler, der hedder henholdsvis rigtigAnt og forkertAnt? Og har de en værdi? Prøv, når du er nået derhen at trykke Ctrl+Alt+V - så kan du se alle dine variabler...
Avatar billede jwulff Nybegynder
10. februar 2005 - 22:04 #22
Jeg kan finde disse der minder om det:

Variable _level0.rigtigAnt = 3
Variable _level0.forkertAnt = 1
Avatar billede barklund Nybegynder
10. februar 2005 - 22:06 #23
Så tjek lige, om du har nogle problemer med tekstfeltet - for eksempel hvid tekst på hvid baggrund eller en superlille font, som du ikke kan se. Skriv noget tekst i tekstfeltet fra starten for eksempel, og se om det bliver stående. Test også, at dine tekstfeltet rent faktisk hedder "rigtigud" og ikke "rigtigud ".
Avatar billede jwulff Nybegynder
10. februar 2005 - 22:23 #24
Lavede det helt forfra og brugte andre navne til felterne og så virkede det.

Det ALLERSIDSTE spørgsmål er at hvordan kan det være at selvom jeg ikke svarer forkert bliver variablen forkertAnt stadig til 1?

MANGE tak for hjælpen
Avatar billede jwulff Nybegynder
10. februar 2005 - 22:30 #25
Nevermind :)

Nå fungerer det lille spil som det nogenlunde skal :)

i kan se det her: http://www.dracos.dk/pingo.swf

(er langt fra HELT færdigt)
Avatar billede jwulff Nybegynder
10. februar 2005 - 22:30 #26
Forresten smid lige et svar rohaje.

ps. lyden virker ikke endnu
Avatar billede rohaje Nybegynder
11. februar 2005 - 10:40 #27
et svar
Avatar billede jwulff Nybegynder
11. februar 2005 - 15:14 #28
Tak for hjælpen :)
Avatar billede barklund Nybegynder
11. februar 2005 - 15:40 #29
Og tark for points :)
Avatar billede rohaje Nybegynder
11. februar 2005 - 20:31 #30
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