載入
繼 SafeLoader(安全載入器) 繼續開源.
以下是以速度第一為準則的載入策略,仍然具有簡單的錯誤修正機制。大家覺得這個有用的話,就頂一下。版主覺得寫得還行,就跟我加分,謝謝。
FastLoader.as 原始碼:
/*
* 作者姚偉。閃吧ID:hust。
* 你可以修改和使用此代碼。但請著名原作者,謝謝。
* 2006.2.12
* 快速但冒險的並發載入模式--FastLoader(快速載入器)
*/
class loaders.FastLoader
{
private static var taskArr : Array = new Array ();
private static var mclArr : Array = new Array ();
private static var listArr : Array = new Array ();
public static var waitNum : Number = 0;
public static var loadedNum : Number = 0;
public static var loadingNum : Number = 0;
public static var totalNum : Number = 0;
//private var loader
//private static var LoadID : Number;
public static function addTask (url : String, target_mc : MovieClip )
{
trace ("addTask");
taskArr.push ([url, target_mc]);
totalNum ++;
waitNum ++;
}
private static function preLoad ()
{
for (var i=0; i < taskArr.length; i ++)
{
trace ("i=" + i);
listArr [i] = new Object ();
listArr [i].onLoadStart = function ()
{
waitNum --;
loadingNum ++;
}
listArr [i].onLoadProgress = function ()
{
}
listArr [i].onLoadComplete = function ()
{
}
listArr [i].onLoadInit = function ()
{
loadingNum --;
loadedNum ++;
//success,next
trace ("onLoadInit");
trace ("i=" + i);
}
listArr [i].onLoadError = function ()
{
mclArr [i].loadClip (taskArr [i][0] , taskArr [i][1]);
}
}
for (var i = 0; i < taskArr.length; i ++)
{
mclArr [i] = new MovieClipLoader ();
mclArr [i].addListener (listArr [i]);
}
}
public static function startLoad ()
{
preLoad ();
//mclArr [0].loadClip (taskArr [0][0] , taskArr [0][1]);
for (var i = 0; i < taskArr.length; i ++)
{
mclArr [i].loadClip (taskArr [i][0] , taskArr [i][1]);
}
}
}