ActionScript 3.0 lar utviklere å implementere komplekse strømmer av animasjon i Flash-programmer og filmer . Loops er blant de mest nyttige og felles strukturer i AS3 skript. Loop funksjonene kan du reagere gjennom datastrukturer og til å utføre repeterende behandling uten å måtte gjenta linjer med kode . AS3 gir en rekke av løkker , som hver er tilpasset en annen type aktivitet. For Loop
" for " loop utfører repeterende behandling ved hjelp av en tellervariabelen og en betinget test. Følgende eksempelkode demonstrerer en grunnleggende " for " loop : var teller : int ; for ( teller = 0; teller < 10; teller + + ) { trace (" Loop: " + teller ) ;}
denne sløyfen vil produksjonen tallverdier fra null til ni . Når koden kommer inn i sløyfen , blir telleren variabel satt til null. Hver gang løkken gjentar , sjekker programmet tellervariabelen . Hvis variabelen er fortsatt mindre enn ti , utfører innhold av sløyfen , deretter telleren variabel økes , og legger til en verdi av en til det . Denne betingelse er så utført på nytt for å kontrollere verdien av telleren. Når verdien når 10 , prosessering kommer forbi loopen .
Etter i Loop
" for i " loop gjør at programmer kan reagere gjennom datastrukturer som matriser . Følgende kode demonstrerer : var fruitCollection : Array = [" eple ", " banan ", " orange ", " melon " ]; for (var frukt : String i fruitCollection ) { trace (" Frukt: " + frukt + "= " + fruitCollection [ frukt ] ); }
Denne koden vil produksjonen hvert element i matrisen i sving. Det er ikke nødvendig å sette opp en betinget test sjekke lengden på array og telleren verdi, som AS3 stopper automatisk når array struktur er oppbrukt.
For hver i Loop
" for hver i " loop også gjentas gjennom samlinger , men heller enn å bruke indeksverdier som referanser til stillinger innen datastrukturer som matriser , henter det elementet verdsetter seg selv . Følgende eksempelkode demonstrerer : var fruitCollection : Array = [" eple ", " banan ", " orange ", " melon " ]; for hver (var fruitString i fruitCollection ) { trace (" Frukt: " + fruitString ) .;}
p Det er ikke nødvendig å bruke indeksverdien inne denne sløyfen , som " for hver " loop automatisk tilgang til element på hver posisjon i strukturen
mens Loop
"mens " loop tillater deg å utføre behandling mens noen tilstanden er fortsatt til stede . I likhet med "for" loop, bruker "mens " loop en betinget test , som følger : var teller : int = 0; while ( teller < 10 ) { trace (" Loop: " + teller) ; teller + +; }
Denne sløyfen har samme effekt som eksempel "for" loop, men en annen implementering . Telleren er initialisert til null før løkken begynner, så den betingede test avgjør om sløyfe innhold utfører hver gang . Koden inni løkken trinn telleren som den siste linjen av behandlingen .
Gjøre mens Loop
" gjøre mens " loop ligner på "mens " ; løkke , men lar programmerere å sikre sløyfen innhold utfører minst én gang . Følgende eksempelkode demonstrerer : var teller : int = 10; do { trace (" Loop: " + teller) ; teller + +; } while ( teller < 10),
p Hvis denne handlingen brukte en " mens "loop , ville innholdet aldri kjøre som tilstanden ville return false selv på første iterasjon . Denne sløyfen vil kjøre en gang, vil da bare fortsette hvis testen returnerer sant, som det vil ikke i dette tilfellet.