Flash CS6 as3:加载前下载图像数组

时间:2014-06-11 13:46:10

标签: image actionscript-3 flash download

我无法弄清楚如何下载所有阵列(~10 pic)的图像,然后在屏幕上使用它们。问题是,为了不对服务器进行加权,图片应该下载一次

现在我加载这样的图片: [特别没有数组的代码]

    var shirt1 = String("https://static.topsport.lt/sites/all/themes/topsport2/files/images/marskineliai_png/215.png");
    var img1Request:URLRequest = new URLRequest(shirt1);
    var img1Loader:Loader = new Loader();
    img1Loader.load(img1Request);
    myMovieClip.removeChildAt(0);
    myMovieClip.addChild(img1Loader);

我正在考虑以某种方式在一个flash关键帧中as3代码加载所有图像,然后在第二步中将加载图像添加到屏幕。

P.S。我为同一个动画片段符号添加和删除Child的数组。

[编辑] 这是我尝试编译的:

FRAME 1

    function startLoad(e:Event = null):void {

        var marsk1 = String("https://static.topsport.lt/sites/all/themes/topsport2/files/images/marskineliai_png/215.png");
        var img1Request:URLRequest = new URLRequest(marsk1);
        var img1Loader:Loader = new Loader();
        img1Loader.load(img1Request);
        myMovieClip.removeChildAt(0);
        if(_2 != null){

        myMovieClip.smoothing = true;}

        //myMovieClip.addChild(img1Loader).addEventListener(Event.COMPLETE, startLoad);

        function achild(){
            myMovieClip.addChild(img1Loader);
        }
    }

FRAME 2

    achild().addEventListener(Event.COMPLETE, startLoad);

我试图将我的情况应用于安德烈波波夫的建议。 我可以从前一帧导入该功能吗? 因为我试图这样做而且我找不到方法

2 个答案:

答案 0 :(得分:0)

您需要使用addEventListener,并等待加载完成。然后开始一个新的。像这样:

var currentImage:uint = 0;

function startLoad(e:Event = null):void {
    if (currentImage == 5) {
        // we are all done
        return;
    }

    var loader:Loader = new Loader();
    // loader specific stuff..
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, startLoad);
    currentImage++;
}

这是一个粗略的伪代码,但想法很简单 - 等待加载器加载,然后加载新图像。

答案 1 :(得分:0)

我通过

解决了frame actionscript连接之间的问题
var img1Loader:Loader = new Loader();

并将其放在函数前面。这就是如何在另一帧上访问加载器。