본문 바로가기

FLASH/AS3.0기초

타이머

타이머 클래스는 이전에 없던 클래스로서 타이머에 대한 인터페이스 입니다.

인터페이스는 객체지향을 공부해야 알 수 있는 개념인데 상속의 개념을 나중에 공부하면서 알아보시기 바랍니다.

 

액션스크립트 3.0의 API구조가 객체지향 구조로 되어 있기 때문에

이전처럼 절차지향 프로그래밍만 공부해서는 제대로 사용할 수가 없습니다.

객체지향은 나중에 배우게 되겠지만 이왕 배우는 거 철저히 배우도록 합시다.

 

새 Timer 객체를 만들어 지정된 시간 sequence에 따라 코드를 실행할 수 있습니다.

타이머를 시작하려면 start()메서드를 사용합니다.

타이머 간격에 따라 실행할 코드를 설정하려면 timer 이벤트에 대한 이벤트 리스너를 추가합니다.

 

지정된 간격마다 반복 실행하거나 한 번만 실행할 Timer 객체를 만들어 일정에 따라 코드를 실행할 수 있습니다.

SWF 파일의 프레임 속도나 Flash Player의 환경(사용 가능한 메모리 및 기타 요인)에 따라 Flash Player에서 이벤트를 전달하는 간격이 조금씩 어긋날 수 있습니다. 예를 들어, 80밀리초마다 이벤트가 발생하도록 타이머를 설정했지만 SWF 파일을 10fps(초당 프레임 수), 즉 100밀리초 간격으로 재생하도록 설정한 경우 100밀리초에 가까운 간격으로 이벤트가 발생합니다.

메모리 사용량이 많은 스크립트의 경우에도 이벤트가 어긋날 수 있습니다.

 

 

속성 

다음에 의해 정의됨 

currentCount : int
[읽기 전용] 0에서 시작한 후 타이머가 발생한 총 횟수입니다.

 Timer

delay : Number
타이머 이벤트 사이의 밀리초 단위 지연 시간입니다.

 Timer

repeatCount : int
타이머가 실행되도록 설정된 총 횟수입니다.

 Timer

running : Boolean
[읽기 전용] 타이머의 현재 상태입니다. 타이머가 실행 중이면 true이고 그렇지 않으면 false입니다.

 Timer

 

 

메서드

다음에 의해 정의됨 

Timer(delay:Number, repeatCount:int = 0)
지정된 지연 및 반복 횟수 상태를 사용하여 새 Timer 객체를 만듭니다.

 Timer

reset():void
초시계의 리셋 버튼과 같이 타이머가 실행 중이면 타이머를 중지하고 currentCount 속성을 다시 0으로 설정합니다.

 Timer

start():void
타이머가 이미 실행 중이 아니면 타이머를 시작합니다.

 Timer

stop():void
타이머를 중지합니다.

 Timer

 

 

이벤트 

다음에 의해 정의됨 

Timer
Timer 객체가 Timer.delay 속성에 따라 지정된 간격에 도달할 때마다 전달됩니다.

 Timer

timerComplete
Timer.repeatCount에 설정된 요청 수가 완료될 때마다 전달됩니다.

 Timer

 

 

다음 예제를 실행해 봅시다.

이 예제는 타이머로 1초마다 10번실행하면 타이머가 종료되는 코드입니다.

 

var myTimer:Timer = new Timer(1000, 10);
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, completeHandler);
myTimer.start();
var cnt:uint = 0;
function timerHandler(event:TimerEvent):void{
  cnt++;
  trace("timer Handler :" + cnt);
}
function completeHandler(event:TimerEvent):void{
  trace("Timer종료");
}

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

클래스로 코딩하기  (0) 2012.10.29
Document 클래스의 이해  (0) 2012.10.29
클래스와 객체  (0) 2012.10.29
OOP란  (0) 2012.10.25
Math  (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