[開源]快速載入器-FastLoader

來源:互聯網
上載者:User
載入

繼 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]);
        }
    }
}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.