2011年2月24日 星期四

[Action Script]用timer寫forloop

使用timer來取代for回圈

可以避掉Flash逾時的問題,但出現逾時的情形,就代表程式要重新修正

除非有其他因素

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.utils.Timer;
/**
* ...
* @author james chang
*/
public class addEventfor extends Sprite {
public var sum:int = 0;
public var i:int = 1;
public var timer:Timer = new Timer(100);
public function addEventfor(){
//for (var i:int= 0; sum <= 10; i++) {
//trace(i);
//sum += 1;
//}
timer.addEventListener(TimerEvent.TIMER, forloop);
timer.start();
}

private function forloop(e:TimerEvent):void {
sum += 1;
if (sum >= 10){
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, forloop);
}
trace(sum);
i++;
}

}

}

2 則留言:

sayaku 提到...

想請問,逾時問題是什麼意思?可以說明一下嗎?

James 提到...

你好
這是之前遇到的問題,好像遇到讀取檔案過大會出現的.
Fault] exception, information=Error: Error #1502: script 已經執行超過預設的

15 秒逾時時段。

那時用這個方式避開這個fault~