본문 바로가기

FLASH/AS3.0기초

선언문, 조건문

선언문이란?


앞으로 배우게 될 조건문 순환문은 선언문에 속합니다.

선언문이 무엇인지 살펴볼까요?

 

break   : 순환문에서 정지
call   : 프레임에 포함되어 있는 함수를 원격 실행
continue  : 순환문을 다시시작
case   : switch 선언문 내부의 겨우를 만든다.
clearInterval  : setInterval로부터 생성된 횟수의 정보를 담은 객체를 제거
default   : switch선언문 내부의 case를 제외한 경우를 만든다.
#endinitclip  : 컴포넌트 종료 선언문
;   :   빈 선언문
for, for in  :  조건 표현식을 사용하여 구문을 순환하여 실행
function  :  함수정의 선언문
#include  :  외부 스크립트 (*.as)포함 선언문
#initclip  :  컴포넌트 시작 선언문
method   : 메서드형 함수 정의의 실행 메서드형
setInterval  :  지정된 시간에 의해 함수를 실행
if, else, else...if :  조건 표현식을 사용하여 구문을 실행
ifFrameLoaded  :  프레임을 로드하면 구문을 실행(MovieClip.framesLoaded)
return   : 특정값을 리턴
switch   : 조건 표현식을 사용하여 주어진 경우를 실행
set   : 사용자 지정 변수 선언문
var   : 변수 선언문
with   : 동일 객체 지정 선언문




조건문 ------------------------


if_else예제.fla


swichcase.fla



조건문은 전체적인 흐름을 제어할 수 있도록 하는 구문입니다.

조건문을 정확히 이해해야 안정된 구조의 스크립트를 작성할 수 있습니다.

조건문에는 if, if~else if, if~ else, switch~case문이 있습니다.
 
 
[if 문]
 
if(조건) {
  실행문;
}
 
SWF 파일의 다음 액션을 결정할 조건을 평가합니다.
조건이 true이면 중괄호({}) 안에서 조건 뒤에 있는 명령문이 실행됩니다.
조건이 false이면 중괄호 안의 명령문을 건너뛰고 중괄호 다음의 명령문이  실행됩니다.
 
 
[ If ~ else if문]
 
if(조건1) {
  실행문;
} else if(조건2){
  실행문2
}else if(조건n){
  실행문n;
}
 
Else if 구문이 사용되면 위에서부터 순차적으로 조건문이 실행됩니다.
조건 1이 만족되지 않으면 else if의 조건2가 실행됩니다.
이런 형태로 조건문이 종결될 때까지 계속됩니다.
 
 
 
[ If ~ else문]
 
if(조건1) {
  실행문;
} else if(조건2){
  실행문2
}else{
  실행문 n;
}
Else if 구문이 사용되면 위에서부터 순차적으로 조건문이 실행됩니다.
조건 1이 만족되지 않으면 else if의 조건2가 실행됩니다.
else 라는 구문은 지금까지의 조건을 제외한 나머지 부분에 대한 조건문입니다.
 
예제
inputText.text="";
c_btClick.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void
{
 if(inputText.text == "a")
 {
  outputText.text = "a입니다.";
 }
 else if(inputText.text == "b")
 {
  outputText.text = "b입니다.";
 } 
 else if(inputText.text == "c")
 {
  outputText.text = "c입니다.";
 }  
 else
 {
  outputText.text = "a, b, c가 아닙니다.";  
 }
}
 
[switch~ case문]
switch (number) {
  case 1:
    실행문A;
  case 2:
    실행문B;
    break;
  default :
     실행문 N
}
 
if 액션과 마찬가지로, switch 액션은 조건을 테스트하여 조건의 결과 true 값이 반환될 경우 명령문을 실행합니다.
각각의 조건은 case로 구분하여 실행합니다.
case에 해당하는 조건이 없을 경우 조건기본적으로 실행되는 부분은 default 이후의 실행문을 이용합니다.
 
예제
액션 3.0에서는 swich문을 사용하여 이벤트를 처리하는 경우가 많습니다.
한개의 이벤트리스너를 여러 객체에서 사용할 경우 switch문을 사용하면 편리합니다.
 
//라인 1~3 : mc0~mc2모두 MouseEvent.CLICK이벤트 발생시 Myhandler 함수를 호출합니다.
mc0.addEventListener(MouseEvent.CLICK, Myhandler);
mc1.addEventListener(MouseEvent.CLICK, Myhandler);
mc2.addEventListener(MouseEvent.CLICK, Myhandler);
 
//e,target은 마우스를 클릭한 대상을 의미합니다. 이렇게 여러 개의 객체를 한 개의 이벤트리스너로 각각 처리
function Myhandler(e:MouseEvent):void{
 switch (e.target){
  case mc0:
   trace("mc0");
   break;
  case mc1:
   trace("mc1");
   break;
  case mc2:
   trace("mc2");
   break;   
 } 
}

'FLASH > AS3.0기초' 카테고리의 다른 글

타이머  (0) 2012.10.25
AS2.0 과 AS3.0의 대표적인 차이점  (0) 2012.10.25
Object 클래스  (0) 2012.10.25
Array  (0) 2012.10.25
String  (0) 2012.10.25
함수  (0) 2012.10.25
반복문  (0) 2012.10.25
변수  (0) 2012.10.25
절차적인 방법와 객체지향 방법의 차이점  (0) 2012.10.24
Action Script 3.0의 새로운 기능  (0) 2012.10.24