我想用讀取圖片,然候利用迴圈的方式把五張圖片並排,但是執行結果總是只有最後一張圖片出來,不知道問題出在哪個環節,以下是程式碼。
請知道的前輩指導我,謝謝。
var re:URLRequest=new URLRequest("001.jpg");
var lo:Loader=new Loader();
lo.load(re);
lo.contentLoaderInfo.addEventListener(Event.COMPLETE,com);
function com(event:Event):void {
for (var i=1; i<5; i++) {
var mc:Sprite=new Sprite();
mc.addChild(lo);
var sp:DisplayObject=this.addChild(mc);
sp.name="m"+i;
sp.width=50;
sp.height=50;
sp.x=10+50*i;
}
}
var re:URLRequest=new URLRequest("001.jpg");//這邊只讀了001.jpg
var lo:Loader=new Loader();
lo.load(re);
lo.contentLoaderInfo.addEventListener(Event.COMPLETE,com);
function com(event:Event):void {
for (var i=1; i<5; i++) {
var mc:Sprite=new Sprite();
mc.addChild(lo);
var sp:DisplayObject=this.addChild(mc);
sp.name="m"+i;
sp.width=50;
sp.height=50;
sp.x=10+50*i;
}
}
/***************************************************************************/
可以改成這樣試試看
var re:URLRequest=new URLRequest("1.jpg");
var lo:Loader=new Loader();
lo.load(re);
lo.contentLoaderInfo.addEventListener(Event.COMPLETE,com);
var i:int=1;
function com(event:Event):void {
var sp:DisplayObject=lo.content;
this.addChild(sp);
sp.name="m"+i;
sp.width=50;
sp.height=50;
sp.x=10+50*i;
lo.unload();
i++;
if(i<15)
lo.load(new URLRequest(i+".jpg"));
//1.jpg、2.jpg....10.jpg、14.jpg、15.jpg
//讀完一張再讀下一張,一直讀下去
}
}
另一種嘗試,是用anonymous function來解決迴圈中i直的問題:
<pre class="c" name="code">
<?xml version="1.0"?>
<!-- Simple example to demonstrate the Button control. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script>
<![CDATA[
import flash.display.Loader;
import flash.net.URLRequest;
function init():void {
var i:int;
var re:URLRequest;
var lo:Loader;
for (i=1; i<9; i++) {
re=new URLRequest("bg/char"+i+".gif");
lo=new Loader();
lo.load(re);
(function (lo:Loader,i:int):void {
lo.contentLoaderInfo.addEventListener(Event.COMPLETE, function (event:Event):void {
var mc:Sprite=new Sprite();
mc.addChild(lo);
var sp:DisplayObject=stage.addChild(mc);
sp.name="m"+i;
sp.width=55;
sp.height=70;
sp.x=10+55*(i-1);
});
})(lo,i);
}
};
]]>
</mx:Script>
</mx:Application>
我用了八個放在bg目錄下的gif檔案,每個寬55,高70。做出來的結果如下:
http://www.fillano.idv.tw/test002.html