簡體   English   中英

AS3停止外部swf

[英]AS3 Stop external swf

嗨,我正在將一個外部swf加載到MovieClip中,我希望它停止直到我選擇播放。 目前它在立即加載時播放。

var mc:MovieClip;

var swfLoader:Loader = new Loader();
swfLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, eventLoaded); 
var request:URLRequest;
request = new URLRequest("external.swf");
swfLoader.load (request);

function        eventLoaded(e:Event): void
{
   mc = e.target.content as MovieClip;
// does not stop the clip
   mc.Stop ();
}

所以我嘗試將一個Event.ENTER_FRAME添加到movieclip並在那里停止,它將停止但它將播放第一幀。 有沒有辦法讓它在加載時保持停止直到我選擇播放?

它實際上與Jochen Hilgers建議的非常接近。 但是,在這種情況下,您想要的事件實際上是INIT而不是COMPLETE 當內容尚未完全加載但已准備好使用(並將自行開始播放)時會觸發INIT

附上活動

loader.contentLoaderInfo.addEventListener(Event.INIT, handleReady );

並處理它

public function handleReady( initEvent:Event ):void{
        MovieClip(initEvent.currentTarget.content).stop();
}

您會注意到,您可以將currentTargetcontent屬性currentTarget為MovieClip,並在將其附加到舞台之前將其停止。

請務必注意,在PROGRESS事件中(或INITCOMPLETE事件之前的任何時間)使用content屬性是不安全的。 您將收到一個錯誤,指出對象尚未就緒。

我寫了這個簡單的TestCase,它工作得很好......加載的swf非常簡單,只是主時間軸上的補間。

package {
    import flash.display.Loader;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLRequest;

    public class Test extends Sprite
    {
        private var loader:Loader = new Loader;

        public function Test()
        {
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoaded );
            loader.load( new URLRequest( 'testFile.swf' ) );    
        }

        public function handleLoaded( event:Event ):void
        {
            addChild( loader.content );
            var mc:MovieClip = loader.content as MovieClip ;
            mc.stop();
        }
    }
}

我一直在尋找類似的問題/解決方案,但我的問題差別不大。 我知道這不是你的問題,但看起來很公平地分享我的解決方案。 當我試着做的時候

    event.currentTarget.stop(); // AS1&AS2 -> BAD swf to import

使用加載程序的內容,我的Flash IDE向我顯示了這個錯誤:

“在flash.display.AVM1Movie上找不到屬性停止,並且沒有默認值。”

這發生在我身上,因為我導入的swf是使用AS1而不是AS3作為主電影創建的(所以我將swf反編譯為fla並使用as3重新編譯,它是After Effects的輸出)。 現在我知道AVM1和AVM2是代表actionscript 1和2文件的類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM