Using “setTimeout()” in a custom class.

ActionScript 2.0을 사용할 때, 플래시 8에서 추가된 setTimeout() 메소드를 사용하면 편리하지만, 클래스에서 setTimeout()를 사용하면 다음과 같이 에러가 발생합니다.

There is no method with the name ’setTimeout’.

그래서 setTimeout() 대신 setInterval() 메소드를 사용하는 경우가 생기죠. 그럴 필요 없이 $(LocalData)/Classes/toplevel.as 파일을 수정하면 이 문제가 말끔히 해결됩니다.
이 파일을 열어서 다음 2줄을 추가하고, 저장합니다. 그리고 플래시를 재시작하면 클래스에서도 setTimeout() 메소드를 문제없이 사용할 수 있습니다.

intrinsic function clearTimeout(id:Number):Void;
intrinsic function setTimeout():Number;

ActionScript 3.0의 경우라면 다음과 같이 utils 패키지의 메소드들을 임포트 해주면 됩니다.

import	flash.utils.setTimeout;
import	flash.utils.clearTimeout;

3 Responses to “Using “setTimeout()” in a custom class.”

  1. 우야꼬 says:

    제 블로그에 관련된 댓글을 다신분이 있어서 트랙백&퍼갈께용~

  2. [AS3] 몇 초 후에 메소드 실행하기…

    간단한 유틸입니다. 일정한 딜레이후에 실행되는 유틸입죠. 사용법은 아래와 같습니다. TimerUtil.callLater( 1000, this.dispatchEvent, new Event( Event.COMPLETE ) ); 간단하죠? callLater( 딜레이시간, 함수, …변…

Leave a Reply