go to php / flash action / english dictionary

 회원가입 |  로그인

{setInterval()}
( home ) 2006-01-26 10:11:23

ActionScript 2.0 언어 참조 설명서
        
  
ActionScript 언어 요소 > 전역 함수 > setInterval 함수  
  




setInterval 함수
setInterval(functionReference:Function, interval:Number, [param1:Object, param2, ..., paramN]) : Number
setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number

SWF 파일이 재생되는 동안 주기적으로 객체의 함수나 메서드를 호출합니다. setInterval()을 사용하여 시간에 따라 모든 함수를 반복적으로 실행할 수 있습니다.

setInterval()을 사용할 때는 다음 참고를 사용합니다.

호출되고 있는 함수 범위를 식별합니다.
간격 ID(setInterval()의 반환값)가 설정된 범위를 식별합니다.
새 간격을 시작하기 전에 이전에 설정한 간격을 해제합니다.
이러한 참고는 다음 단락에서 자세히 설명됩니다.

호출되고 있는 함수 범위를 식별합니다. 호출되고 있는 함수 범위를 식별하려면 setInterval() 메서드를 실행할 수 있는 객체(객체 범위)를 첫 번째 매개 변수로 전달하고 실행할 메서드 이름을 두 번째 매개 변수(두 번째 서명에 표시)로 전달합니다. 이렇게 하면 전달된 객체 참조 범위에서 원하는 메서드가 실행됩니다. 메서드를 이 방법으로 실행하면 이 메서드는 this 키워드를 사용하여 객체에서 멤버 변수를 참조할 수 있습니다.

간격 식별자가 설정된 범위를 식별합니다. 간격 식별자(intervalId)가 설정된 범위를 식별하려면 setInterval()로 전달한 객체 범위에서 멤버 변수에 이 범위를 지정하면 됩니다. 이렇게 하면 호출되고 있는 함수는 this.intervalId에서 간격 식별자를 찾을 수 있습니다.

이전에 설정한 간격을 해제합니다. 새 간격을 시작하기 전에 이전에 설정한 간격을 해제하려면 일반적으로 setInterval()을 호출하기 전에 이전에 clearInterval()을 호출해야 합니다. 이렇게 하면 현재 실행되고 있는 간격에 대한 유일한 참조인 intervalId 변수를 덮어쓰거나 삭제하지 않게 됩니다. setInterval()을 호출하기 전에 clearInterval()을 호출하려면 예제에 나와 있는 것처럼 시작하는 스크립트와 실행 중인 스크립트 모두 intervalId에 액세스할 수 있어야 합니다.

참고: 스크립트에서 루핑을 중지하려면 항상 clearInterval()을 호출해야 합니다.

지원 버전: Flash Player 6; ActionScript 1.0

매개 변수
functionReference:Function - 호출할 함수에 대한 참조입니다.

interval:Number - 전달된 functionReference 또는 methodName 함수의 호출 사이의 밀리초 단위 시간입니다.

interval이 SWF 파일의 프레임 속도(예: 초당 10프레임(10 fps)은 100밀리초 간격과 같음)보다 작으면, 최대한 interval 값의 시간에 가깝게 interval 함수가 호출됩니다. 한 간격 동안 메모리 사용이 많고 긴 스크립트를 실행하면 지연이 발생할 수 있습니다. 호출되는 함수에 의해 시각적 요소가 변경될 경우 updateAfterEvent() 함수를 사용하여 화면을 충분히 새로 고쳐야 합니다. interval이 SWF 파일의 프레임 속도보다 큰 경우 interval 함수는 interval이 만료되고 재생 헤드가 다음 프레임으로 들어간 후에만 호출되며 이로 인해 화면을 새로 고칠 때마다 영향이 최소화됩니다.

param:Object [선택 사항] - functionReference 또는 methodName으로 전송된 함수에 전달된 매개 변수입니다. 여러 매개 변수는 쉼표로 구분해야 합니다. param1 , param2 , ..., paramN

objectReference:Object - methodName으로 지정한 메서드가 포함된 객체입니다.

methodName:String - objectReference로 지정한 객체 범위에 있는 메서드입니다.

반환값
Number - clearInterval()에 전달하여 간격을 취소할 수 있는 간격(간격 ID)을 식별하는 정수입니다.

예제
예제 1: 다음 예제에서는 20밀리초 간격으로 메시지를 10번까지 추적한 다음 간격을 해제합니다. 객체 범위 this는 첫 번째 매개 변수로, 메서드 이름 executeCallback은 두 번째 매개 변수로 전달됩니다. 이렇게 하면 executeCallback()이 호출하는 스크립트와 동일한 범위에서 실행됩니다.


var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 10;
var duration:Number = 20;

function executeCallback():Void {
trace("executeCallback intervalId: " + intervalId + " count: " + count);
if(count >= maxCount) {
clearInterval(intervalId);
}
count++;
}

intervalId = setInterval(this, "executeCallback", duration);


예제 2: 다음 예제는 setInterval() 전에 clearInterval()을 호출한다는 점을 제외하면 첫 번째 예제와 비슷합니다. 이 예제는 원하지 않는 루프를 방지하는 데 도움이 될 수 있고 특정 간격이 모두 해제되기 전에 시작하는 스크립트를 여러 번 실행할 수 있는 이벤트 기반 시스템에서 특히 유용합니다.


var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 10;
var duration:Number = 20;

function executeCallback():Void {
trace("executeCallback intervalId: " + intervalId + " count: " + count);
if(count >= maxCount) {
clearInterval(intervalId);
}
count++;
}

function beginInterval():Void {
if(intervalId != null) {
trace("clearInterval");
clearInterval(intervalId);
}
intervalId = setInterval(this, "executeCallback", duration);
}

beginInterval();
beginInterval();
beginInterval();


예제 3: 다음 예제에서는 호출되고 있는 함수에 사용자 정의 인수를 전달하는 방법을 보여 줍니다.


var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 10;
var duration:Number = 20;
var colors:Array = new Array("red",
"blue",
"yellow",
"purple",
"green",
"orange",
"salmon",
"pink",
"lilac",
"powder blue",
"mint");

function executeCallback(param:String) {
trace("executeCallback intervalId: " + intervalId + " count: " + count + " param: " + param);
clearInterval(intervalId);
if(count < maxCount) {
count++;
intervalId = setInterval(this, "executeCallback", duration, colors[count]);
}
}

if(intervalId != null) {
clearInterval(intervalId);
}

intervalId = setInterval(this, "executeCallback", duration, colors[count]);


예제 4: 다음 예제에서는 ActionScript 2.0 사용자 정의 클래스에서 setInterval()을 올바르게 사용하는 방법을 보여 줍니다. 이전 예제와 마찬가지로 this를 setInterval() 함수에 전달하여 올바른 범위 내에서 호출되는 메서드를 실행해야 합니다.


class CustomClass {
private var intervalId:Number;
private var count:Number = 0;
private var maxCount:Number = 10;
private var duration:Number = 20;

public function CustomClass():Void {
beginInterval();
}

private function beginInterval():Void {
if(intervalId != null) {
trace("clearInterval");
clearInterval(intervalId);
}
intervalId = setInterval(this, "executeCallback", duration);
}

public function executeCallback():Void {
trace("executeCallback intervalId: " + intervalId + " count: " + count);
if(count >= maxCount) {
clearInterval(intervalId);
}
count++;
}
}


새 문서에서 새 클래스의 새 인스턴스를 인스턴스화합니다.


var custom:CustomClass = new CustomClass();


참고 사항
clearInterval 함수, updateAfterEvent 함수, class 문




  목록

 플래시 게시판 소스 
 플래시 게시판 [2]
 ㅅㄷㄴㅅ  비밀글입니다  : E
 플래시 마우스 오른쪽 금지    : 수학/물리
 unloadMovieNum (eng ver.)    : U
 loadMovieNum (eng ver.)    : L
 탄력적인 움직임 소스    : 액션모듬
 hitTest    : H
 플래시 액션스크립트 모음    : 액션모듬
 메뉴 묶기    : 액션모듬
 3초후에 다음프레임으로 이동    : 액션모듬
 .  비밀글입니다  : operators
 study    : 액션모듬
 플래시 검색엔진 만들기    : 액션모듬
 prototype    : P
 onMouseDown    : O
 onMouseMove    : O
 마우스 커서 숨기기 Mouse.hide();    : M
 플래시 동영상    : 액션모듬
 getDepth    : G
 거꾸로 재생되는 무비    : 액션모듬
 swapDepths    : S
 마우스 오른쪽 메뉴수정하기 - ContextMenu    : 액션모듬
 마우스 over 재생 out 역재생    : 액션모듬
 charCodeAt    : C
 전역 속성    : 액션모듬
 charAt    : C
 플래시 풀스크린창 최소화하는 버튼    : 액션모듬
 #include 지시문    : #
 #endinitclip 지시문    : #
 #initclip 지시문    : #
 enterFrame (이벤트)    : E
 *-1 로 토글버튼만들기    : 액션모듬
 플래시 인트로.. [1]   : 액션모듬
 clearInterval()    : C
 setInterval()    : S
 숫자묶기    : 액션모듬
 슬라이드 메뉴    : 액션모듬
 무비클립 인스턴스네임    : 액션모듬
 연산자 new    : N
 onMouseUp (이벤트)    : O
 예약어 _global 전역함수    : G
 서브메뉴의 현재위치 표시 [1]   : 액션모듬
 슬라이드 메뉴    : 액션모듬
 getBytesLoaded    : G
 getBytesTotal    : G
 스크롤 올리기내리기버튼    : 액션모듬
 선을 복사해서 그림그리기    : 액션모듬
 마우스를 부드럽게 따라다니는 무비클립    : 액션모듬
 눈내리기    : 액션모듬
 외부음악 부르기 간단    : 액션모듬
 플래시에서 배경음악 차례로 골라듣기..(외부음악 이용) [1]   : 액션모듬
 핸드커서 안보이기    : 액션모듬
 즐겨찾기버튼    : 액션모듬
 플래시 간단시계    : 액션모듬
   [re] 플래시 시계 시분초    : 액션모듬
 랜덤으로 파일부르기    : 액션모듬
 플래시 투명    : 액션모듬
 플래시로 전체창    : 액션모듬
 한글이 깨질때    : 액션모듬
 loading 바와 100% 보여주기 액션    : 액션모듬
 TextField.borderColor    : T
 colorchange    : 액션모듬
 사운드 볼륨조절 사용예제    : 액션모듬
 Math 함수    : M
 for 문을 이용한 버튼 제어    : 액션모듬
 onKillFocus    : O
 tabIndex    : T
 onSetFocus    : O
 loadVariablesNum    : L
 XML(object) -2    : X
 XML(object) -1    : X
 _x    : X
 with    : W
 var    : V
 _url    : U
 updateAfterEvent    : U
 unloadMovie    : U
 unescape(최상위레벨 함수)    : U
 typeof    : T
 trace    : T
 _totalframes    : T
 toggleHighQuality    : T
 this    : T
 tellTarget    : T
 targetPath    : T
 _target    : T
 substring    : S
 String(object)    : S
 " "    : S
 String(function)    : S
 stopDrag    : S
 stopAllSounds    : S
 stop    : S
 startDrag    : S
 _soundbuftime    : S
 Sound(object)    : S
 setProperty    : S
 set    : S
 Selection(object)    : S

    목록            1 [2][3]

Copyright 1999-2018 Zeroboard / skin by Yoojunge