티스토리 뷰
반복행위를 초기식, 조건식등을 이용하여 반복하는 것으로 for문, while, do~while문 이 있다.
for문
for(초기값; 조건식; 증감식){
//실행문
}
for문에는 초기값, 조건식, 표현식이 모두 들어있기 때문에 활용도가 가장높고 직관적인 장점이 있다.
for ( var i:uint = 0; i<5; ++i){ trace("난" + i + "번 출력"); } //결과 난0번 출력 난1번 출력 난2번 출력 난3번 출력 난4번 출력
i의 초기값이 0 이므로 0부터 시작하여, 조건식의 <5 보다 작을때까지 반복하므로 4까지 반복한다.
따라서 0~4까지 총 5회 반복하게된다.
스테이지에 배치된 무비클립 mc0 ~ mc4 까지의 무비클립을 동시에 오름쪽으로 20픽셀 옮기려면 다음과 같이 작성한다.
for ( var i:uint = 0; i<5; ++i){ this["mc"+i].x = this["mc"+i].x + 20; }
for의 무한루프.
다음과 같이 구문을 작성하면 무한루프(끝없이 반복)하게 된다. 이는 C에서 자주쓰던 for문의 반복루프인데 as3.0에도 똑같이 쓰인다.
실행및 컴파일을 권장하지 않습니다. (cpu가 끝없이 반복 연산하기 때문에)
for(; ;){ trace("끝없이 출력~~"); }
for ~ in
객체및 배열의 속성을 반복한다.
var myXML:XML =배정남 정우성 송중기 ; var str:String = ""; for each(str in myXML.frame){ trace(str); } for (str in myXML.frame){ trace(str +":"+ myXML.frame[str]); }
10 : myXML에 직접 fame 노드들을 검색 할 수도있고, myXML.user.fame으로 써도된다.
10 : for~each~in 은 직접 value를 가지고오고 (배정남, 정우성, 송중기)..
15 : for~in 은 각 원소노드 갯수를 세어가며 값을 가져온다. 0:배정남, 1:정우성, 2:송중기..
for each ~ in
반복문의 반복 변수에 직접 객체의 속성(실제 값)을 출력한다.
var myXML:XML =; var str:String = ""; for each(str in myXML.talent.myname){ trace(str); //배정남 //정우성 //송중기 //김사랑 } /* for (str in myXML.talent.myname){ trace(str +":"+ myXML.talent.myname[str]); //0:배정남 //1:정우성 //2:송중기 //3:김사랑 } */ var target:String = myXML.talent.myname[3].@type.toString(); trace(target); //여자 배정남 정우성 송중기 김사랑
34 : myname의 속성을 직접 가져오려면 @를 써서 가져올 수 있다.
4번째 속성을 가져오려면 (0부터 시작하므로) mayname[3].@type 으로 가져오되 문자열 속성으로 형변환을 시켜줘야 하므로
toString() 메서드를 써준다. 아래처럼 바꿔도 되긴하다..
String(myXML.talent.myname[3].@type);
while문
while(조건식){
//실행문
}
while문은 조건식이 참일경우에 반복한다.
따라서 다음과 같이 조건식이 항상 참일경우 무한반복을 한다.
실행및 컴파일을 권장하지 않습니다. (cpu가 끝없이 반복 연산하기 때문에)
while(true){ trace('무한반복'); }
데이터의 반복 횟수를 모를경우에 사용하며 (ex 우리학교의 총인원, 검은색 자동차의 총 갯수 등..)
초기식과 증감식을 추가하여 for문과 비슷한 형태로 사용이 가능다.
var i:uint = 1; var total:uint = 520; //외부 등 으로 부터 받은 데이터나 변수. while( i < total ){ trace(i); i++; //증감식 }
결과 : 1, 2, 3 ... 519
do ~ while문
while문과 비슷 하지만 do{} 블록에서 반드시 한번은 실행된다.
do{
//실행문
}while(조건식);
var i:int = 10; do{ trace(i); i++; }while(i<10); //결과 10
'■ 플래시 ■ > Adobe ActionScript3.0' 카테고리의 다른 글
12. Number 타입 (0) | 2013.10.19 |
---|---|
11. 함수 (0) | 2013.10.19 |
9. 조건문 (0) | 2013.10.19 |
8. 연산자 (0) | 2013.10.17 |
7. 상수 (0) | 2013.10.17 |