2012-10-20 32 views
0

我確定這是一個簡單的問題,我忽視了一些顯而易見的事情。ActionScript3 Extrenal Preloader不會播放影片剪輯

我有一個外部預加載的SWF,在第一個(也是唯一的)框架中的一個圖層上只包含影片剪輯(loader_graphic);並在第一個幀中的另一個圖層上加載腳本。影片剪輯只是一個簡單的循環動畫,沒有進度指示器。如果我不包含腳本,它的效果很好。

該腳本加載外部SWF,並且本身就像它應該那樣工作。

當我將兩者結合起來後,我得到了影片剪輯的第一幀,然後凍結,直到外部SWF被完全加載。一旦它被加載,它會播放一次並停止。我有點新的AS3,我知道,預裝的是改變了公約之一,所以我可能沒有它編碼正確:

loader_graphic.play(); 

import flash.display.Loader; 
import flash.net.URLRequest; 
import flash.events.ProgressEvent; 


var l:Loader = new Loader(); 
l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop); 
l.contentLoaderInfo.addEventListener(Event.COMPLETE, done); 
l.load(new URLRequest("external.swf")); 

function loop(e:ProgressEvent):void 
{ 
    var perc:Number = e.bytesLoaded/e.bytesTotal; 
} 


function done(e:Event):void 
{ 
    loader_graphic.stop(); 
    addChild(l); 
} 

任何幫助表示讚賞。

+0

這可能沒有關係,但請確保external.swf中的腳本沒有指向舞臺,因爲在加載影片將其添加到addChild()之前,stage屬性將爲空。在external.swf的構造函數中加入這樣的內容:'addEventListener(Event.ADDED_TO_STAGE,init);'並且在調用init()之後不要引用該階段。 – null

回答

0

事實證明,預加載器一直在玩。它只是因爲主SWF超載Flash播放器而停滯不前。

它正在加載的主要SWF包括從標準Web服務器流式傳輸的F4V視頻,並且玩家一次處理所有內容太多。我嵌入了視頻,而這一切都運行良好。