최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

반복행위를 초기식, 조건식등을 이용하여 반복하는 것으로 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
댓글