일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- adobe
- Microsoft
- 주식
- XAML
- 액션스크립트
- 아폴로케이션
- Flash
- 어도비
- 워렌 버핏
- Air
- 플렉스
- Papervision3D
- Silverlight
- Flex
- API
- framework
- 실버라이트
- stage3d
- 3D
- 플래시
- 도서
- starling
- 아폴로
- 책
- ActionScript
- 마이크로소프트
- Papervision
- 3.0
- Genome2D
- 물리엔진
- Today
- Total
WonHada.com으로 이전
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());
}
}
=======================================================================