版权声明:转载时请以超链接形式标明文章原始出处 http://blog.lonelystar.org/post/2.html

    LoadImage是单张图片载入函数

    如果要再某张图片成功载入后执行某函数就用一个LoadImage即可

     

    JavaScript语言:
    LoadImage:$User.Browser.IE? //IE   
        function(url,callback,Ar){ //地址,回调函,给回调函数的参数   
            var img=new Image();   
            //当准备状态发生改变时判断是否complete,是则执行回调函数   
            img.onreadystatechange=function(){img.readyState=='complete'&&callback(Ar)}   
            //出错时状态改变事件置空,执行回调函数   
            img.onerror=function(){img.onreadystatechange=null;img.title=url;callback(Ar);};   
            img.src=url//赋值要放在事件定义后   
        }:   
        function(url,callback,Ar){ //非IE
            var img=new Image();
            //是否有缓存,是则直接执行回调函数   
            img.src=url;
            img.complete?callback(Ar):(   
            //无缓存,执行onload后回调或者出错后回调   
                img.onload=function(){img.complete&&callback(Ar)},
                img.onerror=function(){img.title=url;callback(Ar);}
            )
    }

     

    在JSPVZ里的多张图片是每个关卡单独载入一次

    在首页出现的时候

    游戏的公用图片已经载入完毕

    之后每关只载入本关所需要用到的图片

    所以要使用到多图载入进度条

    原理是要先知道到底要载入哪些图片

    然后把所有需要载入的图片url放入一个数组

    载入图片时循环读取数组url

    每读取一个就执行一个LoadImage

    而回调函数都是执行CheckImg来检查是否载入了所有图片

    载入所有图片后就开始执行下一个任务

     

    JavaScript语言:
    CheckImg:function(){   
        /*使用一个变量存储载入成功的图片数  
        每次执行CheckImg该变量+1  
        if(载入数==图片总数){  
            执行下一个函数  
        }*/  
    }

     

      本文现有1 条评论

    • 1  恩恩,又上了一课

    欢迎您发表评论:

     
    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。