Gå til innhold

[Løst]Prøve i Flash CS3


Anbefalte innlegg

Hei,

 

Jeg har prøvd å få litt hjelp her, tidligere, og det har fungert ganske alright.

 

Nå har vi prøve, med ALLE HJELPEMIDDLER tillatt, så jeg tenkte at hvis jeg rekker å få svar, så er denne oppgaven ganske grei å finne ut av på nettet -

 

oppgaven lyder:

 

"Forklar hva koden nedenfor gjør, og gi en enkel beskrivelse. Tegn hva utfallet av koden blir. Tips: Kommandoen "sirkel" tegner en liten sirkel."

 

var antallK:uint = 5;

var antallR:uint = 3;

 

var kTeller:uint = 0;

var rTeller:uint = 0;

 

while(kTeller < antallK) {

rTeller = 0;

while(rTeller < antallR) {

var sirkel:Sirkel = new Sirkel();

sirkel.x = kTeller*50;

sirkel.y = rTeller*50;

addChild(sirkel)

rTeller++;

}

kTeller++;

}

 

Det første jeg gjorde var å lage et movie-clip symbol, som jeg kalte Sirkel, men da fikk jeg en feilmelding hvor det sto:

 

"1046: Type was not found or was not comple-time constant : Sirkel. (Linje 10)"

"1180: Call to a possibly undefined method Sirkel (linje 10)"

 

Noen som har litt peiling som er villige til å hjelpe meg litt? Prøva er ferdig fem på halv tolv.

 

På forhånd takk,

 

Xscaro :-)

 

Edit - la til (linje 10) i den andre feilmeldingen

Endret av Xscaro
Lenke til kommentar
Videoannonse
Annonse

Dette er Actionscript 3.

Etter hva jeg leser lager denne koden 5 vertikale rader med sirkler, alle sirklene er 50 pixler fra hverandre.

 

Blir dette mønsteret:

• • • • •

• • • • •

• • • • •

 

var antallK:uint = 5;
var antallR:uint = 3;

var kTeller:uint = 0;
var rTeller:uint = 0;

Her lages 4 variabler, disse brukes lenger ned i koden.

 

while(kTeller < antallK) {

"While" er en type loop, det som står i parantesen tilsier hvor mange ganger loopen skal skje.

I denne sammenhengen sier det som står i parantesen:

Om verdien i variabelen kTeller er mindre enn verdien i variabel antallK, så gjør følgende (det som står mellom { og }.

Siden kTeller = 0 og antallK = 5 betyr det at loopen vil gå fem ganger.

 

rTeller = 0;

Dett setter bare variabelen rTeller til 0.

 

while(rTeller < antallR) {

Dette er jo da samme koden som ett par linjer over, bare med to andre variabler. Denne loopen vil skje tre ganger.

 

var sirkel:Sirkel = new Sirkel();
sirkel.x = kTeller*50;
sirkel.y = rTeller*50;
addChild(sirkel)

Denne delen av koden bruker en klasse som er laget av den som skrev koden, Sirkel-klassen.

Koden her lager en sirkel, og plasserer den 50px X verdien i variabelen kTeller eller rTeller.

Siste linjen her senden sirkelen til stage, slik at den blir synelig.

 

rTeller++;

Denne linjen sier: Verdien i variabel rTeller + 1. Så hver gang den andre while-loopen kjører, blir variabelen 1 større. Når den når samme verdi som variabelen antallR, vill den avslutte og gå videre i koden.

 

}

Her lukkes den andre while-loopen. Alt mellom { og } er hva som skjer hver gang loopen kjører.

 

kTeller++;

Her økes variabelen kTeller med 1.

 

}

Og her lukkes da den første loopen.

 

 

Håper det var til hjelp, og ikke minst at jeg ikke tar feil :)

Lenke til kommentar
  • 2 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...