본문 바로가기

Development

[Flash] 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