ActionScript 3.0 kan utvecklare att implementera komplexa flöden av animation i Flash-program och filmer . Loops är bland de mest användbara och gemensamma strukturer i AS3 skript . Loop funktioner låter dig iterera igenom datastrukturer och utföra repetitiva bearbetning utan att behöva upprepa rader kod . AS3 erbjuder en rad av slingor , som var och som är anpassat till en annan typ av uppgift. För Loop
" för " loop utför repetitiva bearbetning med hjälp av en räknare variabel och ett villkorligt test . Följande exempelkod visar en grundläggande " för " loop : var räknare : int ; för ( räknare = 0 ; räknare < 10 , räknare + + ) { trace ( " Loop : " + disk ) ; }
denna slinga kommer ut numeriska värden från noll till nio . När koden in i bygeln , är räknarvariabeln nollställs. Varje gång slingan itererar , kontrollerar programmet räknarvariabeln . Om variabeln är fortfarande mindre än tio , exekverar innehållet i slingan , då räknaren variabel ökas och att addera ett värde av ett till den. Den villkorligt test utförs därefter igen för att kontrollera värdet hos räknaren . När värdet når 10 , bearbeta rör sig förbi slingan . Addera För I Loop
" i " loop låter program för att iterera genom datastrukturer som vektorer . Följande kod visar : var fruitCollection : Array = [ " apple " , " banana " , "orange " , " melon " ] , for (var frukt : String i fruitCollection ) { trace ( " Frukt : " + frukt + " = " + fruitCollection [ frukt ] ) ; }
Denna kod matas varje element i arrayen i tur och ordning . Det finns inget behov av att inrätta ett villkorligt test kontrollera längden på arrayen och räknaren värde , eftersom AS3 stannar automatiskt när arrayen struktur är uttömd .
För varje I Loop
" för var och en i " loop också itererar genom samlingar , men istället för att använda indexvärden som hänvisningar till befattningar inom datastrukturer som vektorer , hämtar det elementet värderar själva . Följande exempelkod visar : var fruitCollection : Array = [ " apple " , " banana " , "orange " , " melon " ] , för varje ( var fruitString i fruitCollection ) { trace ( " Frukt : " + fruitString ) ; . }
p Det finns ingen anledning att använda indexvärdet inuti denna slinga , som " för varje " loop automatiskt åtkomst till elementet vid varje position i strukturen
medan loop
" medan " loop kan du utföra behandling medan vissa villkor är sant . Liksom " för " loop , använder " medan " loop ett villkorligt test , enligt följande: var räknare : int = 0 ; samtidigt ( räknare < 10 ) { trace ( " Loop : " + disk ) , räknare + + ; }
Denna slinga har samma effekt som exemplet " för " loop , men en annan implementering . Räknaren initieras till noll innan slingan börjar , då det villkorliga testet avgör om slingan innehållet exekverar varje gång . Den koden inuti slingan ökar räknaren som den sista raden av behandlingen .
Do While Loop
" göra medan " loop liknar " samtidigt " , loop , men tillåter programmerare att säkerställa slingan innehållet exekverar minst en gång . Följande exempelkod visar : var räknare : int = 10 ; do { trace ( " Loop : " + disk ) , räknare + + ; } while ( räknare < 10 ) ;
p Om denna åtgärd används en " medan " loop , skulle innehållet aldrig köra som villkoret skulle returnera false ens på första iteration. Denna slinga körs en gång , kommer då endast fortsätta om testet returnerar sant , vilket det kommer inte i detta fall .