Flash8になって、setTimeout()関数が追加されました。

setTimeout (functionReference:Object, delay:Number [, arg1:Object, arg2, ..., argN]) : Number

LiveDocsにも細々と下の方にコメントが載ってます。[FLASH8 Documentation Global Functions]

ちなみに、

function clearTimeout(id:Number) : Void;

もあります。

使い方はsetInterval()と同じです。

とりあえず例を一つ。

Ex:1秒後にhogeFunctionを実行

var setID:Number = setTimeout(hogeFunction, 1000, getTimer()); function hogeFunction(startTime:Number):Void { trace(startTime+"から"+"1秒後に実行されました。"+" 実計測値 : "+(getTimer()-startTime)+"ミリ秒"); }

今まで、インターバルを置いて関数を1度だけ実行したい時でもsetInterval()を使わなければならず、clearIntervalで削除するまで処理が繰り返されるため、

var intID=setInterval(funcition(){ trace(startTime+"から"+"1秒後に実行されました。"+" 実計測値 : "+(getTimer()-startTime)+"ミリ秒"); clearInterval(intID) },1000,startTime)

の用なid管理を含んだコードが煩わしかったのですが、8を使ったflashならその心配はなさそうです。

サンプルを実行してみるとわかりますが、かなり精度は悪いです…
ゲームなんかでは使わない方が身のためかも。

HTML5飯