as3.0 加载多张外部图片放在指定图层,或放一个影片剪辑(鬼影)里
1个回答
展开全部
import flash.net.URLRequest;
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.Event;
var imgUrl:Array = ["1.jpg","2.jpg","3.jpg"];
var imgN:uint = imgUrl.length;
//不多写,只写三个图片
//现在我们创建一个显示对象,用以存放这些外部的图片;
var imgSprite:Sprite=new Sprite();
//我们来限定图片大小
var imgW:Number = 350;
var imgH:Number = 200;
//创建一个变量,用以获取是否所有图片都加载完毕
var index:uint = 0;
var req:URLRequest;
for (var i:uint=0; i<imgN; i++)
{
req = new URLRequest(imgUrl[i]);
var loader:Loader=new Loader();
loader.load(req);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImgLoader);
}
function onImgLoader(evt:Event):void
{
index++;
evt.target.loader.width = imgW;
evt.target.loader.height = imgH;
imgSprite.addChild(evt.target.loader);
//在此判断加载的图片数是否与imgN的长度相同,要是相同,说明图片完全加载。;
if (index==imgN)
{
//图片完全加载后,我们再将图片显示出来。
addChild(imgSprite);
}
}
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.Event;
var imgUrl:Array = ["1.jpg","2.jpg","3.jpg"];
var imgN:uint = imgUrl.length;
//不多写,只写三个图片
//现在我们创建一个显示对象,用以存放这些外部的图片;
var imgSprite:Sprite=new Sprite();
//我们来限定图片大小
var imgW:Number = 350;
var imgH:Number = 200;
//创建一个变量,用以获取是否所有图片都加载完毕
var index:uint = 0;
var req:URLRequest;
for (var i:uint=0; i<imgN; i++)
{
req = new URLRequest(imgUrl[i]);
var loader:Loader=new Loader();
loader.load(req);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImgLoader);
}
function onImgLoader(evt:Event):void
{
index++;
evt.target.loader.width = imgW;
evt.target.loader.height = imgH;
imgSprite.addChild(evt.target.loader);
//在此判断加载的图片数是否与imgN的长度相同,要是相同,说明图片完全加载。;
if (index==imgN)
{
//图片完全加载后,我们再将图片显示出来。
addChild(imgSprite);
}
}
更多追问追答
追问
哪里是指定的图层呢?我要在最底层显示,这种方法是加载到库还是一帧一张图片?或者一个图层一张图片?
追答
在AS3.0中,是没有图层的概念的,有的只是显示级别,默认的是0,1.2.3.4.……。
这样序列显示,数字越高,越在顶层,这里就是先加载的在最下层,最后加载的在最上层。你要是想让所有的图片在最底层显示,修改这句addChild(imgSprite);修改后的:
stage.addChild(imgSprite);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询