我无法弄清楚如何下载所有阵列(~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);
我试图将我的情况应用于安德烈波波夫的建议。 我可以从前一帧导入该功能吗? 因为我试图这样做而且我找不到方法
答案 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();
并将其放在函数前面。这就是如何在另一帧上访问加载器。