範例說明:
我有三個SWF檔案(有音訊的SWF檔),我想利用外部載入的方式使他們輪播!
檔案下載: http://mcr.tw/stu/gjun/carino/%e8%bc%89%e5%85%a5%e5%a4%96%e9%83%a8SWF%e4%b8%94%e8%bc%aa%e6%92%ad.rar
語法:
var ldr:Loader = new Loader ;
var path:URLRequest = new URLRequest ;
var swfArray:Array = new Array("單人過關.swf","雙人過關.swf","製作名單.swf");
var arrayIndex:int = 0;
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, FnComplete);
path.url = swfArray[arrayIndex];
ldr.load(path);
arrayIndex++;
function FnComplete(e:Event)
{
ldr.scaleX = 0.29;
ldr.scaleY = 0.29;
stage.addChild(ldr);
addEventListener(Event.ENTER_FRAME,FnEnterFrame);
function FnEnterFrame(e:Event)
{
if (MovieClip(ldr.content).currentFrame == MovieClip(ldr.content).totalFrames)
{
ldr.unloadAndStop();//把之前load的所有unload且關掉~不過Flash Play10之後才有支援
path.url = swfArray[arrayIndex];
ldr.load(path);
arrayIndex++;
if (arrayIndex >swfArray.length-1)
{
arrayIndex = 0;
}
removeEventListener(Event.ENTER_FRAME,FnEnterFrame);
}
}
}
心得:
因為是有聲音的SWF檔,原本利用removeChild()移除,但是聲音還在,且不斷重疊上來
google了一下,很多人有這個問題,有興趣的大家,請點入下列連結,觀看解決方法,
我這邊是用了unloadAndStop(),
不過這個方法還是有很多缺點,
(http://ticore.blogspot.tw/2009/05/flash-player-10-unloadandstop-test.html)
留言列表