2010-10-01 108 views
0

我三個外部SWF文件加載到我的flash動畫,下面的代碼:的Flash/AS3:加載外部SWF *動畫*

import flash.display.* 

var screens:Array = new Array(
    'screens/left.swf', 
    'screens/center.swf', 
    'screens/right.swf' 
); 

var loaders:Array = new Array(); 

function complete_listener(event:Event):void { 
    event.target.content.width = 341; 
    event.target.content.scaleY = event.target.content.scaleX; 
} 

for (var i=0; i<screens.length; i++) { 
    loaders[i] = new Loader(); 
    loaders[i].contentLoaderInfo.addEventListener(Event.COMPLETE, complete_listener); 
    var url:URLRequest = new URLRequest(screens[i]); 
    loaders[i].load(url); 
    loaders[i].x = 341 * i; 
    loaders[i].y = 0; 
    addChild(loaders[i]); 
} 

一切正常,只是我的三個虛擬瑞士法郎的罰款,但是當我嘗試加載使用某種動畫(例如補間動畫)的swf文件,swf不再顯示......是否有解決方法?謝謝!

+0

難道這些動畫直接嵌入在加載的主權財富基金或者他們又將從其他SWF加載? – Amarghosh 2010-10-01 12:07:24

+0

它們直接嵌入在加載的SWF中。其實你可以看到第一幀(我猜)每隔幾秒閃一下,真的很奇怪...... – 2010-10-01 12:09:50

+0

可能這些動畫可能會導致加載的SWF崩潰,這是因爲某些原因,比如從構造函數中訪問'stage'屬性(或者在它們實際上添加到舞臺) - 你有機會獲得這些動畫的代碼嗎?確保你正在測試一個Flash播放器的調試版本 - 這樣你就會知道發生了什麼樣的錯誤/異常 – Amarghosh 2010-10-01 12:19:54

回答

0

嗯,我不能正確理解你的問題..但我會建議你一個人認爲把stop()放在你要加載的所有三個swf上。然後當他們被加載時,你可以開始你的動畫。

function complete_listener(event:Event):void 
{ 
    event.target.content.width = 341; 
    event.target.content.scaleY = event.target.content.scaleX; 
    var myLoadedSWF:MovieClip =event.target.content as MovieClip; 
    myLoadedSWF.play(); 
} 

嘗試......