일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 물리엔진
- 3.0
- 워렌 버핏
- Flex
- 아폴로
- Papervision3D
- 책
- Flash
- 마이크로소프트
- API
- ActionScript
- 액션스크립트
- Genome2D
- 어도비
- 아폴로케이션
- 플렉스
- 주식
- Papervision
- 실버라이트
- 플래시
- adobe
- 도서
- starling
- Silverlight
- stage3d
- Air
- 3D
- framework
- Microsoft
- XAML
- Today
- Total
주엘리아 블로그
Timer 클래스와 ENTER_FRAME 이벤트 본문
enterFrame을 이용해 진행시간을 조작할 수 있습니다..
하지만 enterFrame은 컴퓨터의 성능에 영향을 받아 정확하지 않죠..
AS 3.0에는 Timer 클래스가 있는데요..기존의 setInterval() 이나 setTimeout() 보다 효율적이라고 합니다..
시간에 관련해서는 Timer 클래스를 사용할 것을 권장합니다..
아래는 Timer 클래스와 ENTER_FRAME 이벤트를 이용해 3초 후 결과를 보여줍니다..
=======================================================================
import flash.utils.*;
import flash.events.*;
//Timer 를 이용해 3초 후 결과 보기
var timer:Timer = new Timer(1000,3);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
function onTimerComplete(event:TimerEvent):void {
var date:Date = new Date();
trace("timerComplete", date.getTime());
}
//ENTER_FRAME 을 이용해 3초 후 결과 보기
var t:uint = 0;
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void{
t++;
if(t>=12*3){ //fps가 12입니다. 따라서 12*3 은 3초
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
var date:Date = new Date();
trace("enterFrame Complete", date.getTime());
}
}
=======================================================================