我有一個在Flash Professional中創建的.swf動畫。在我的動作項目中使用它,我把它嵌入如下:嵌入式.swf動畫不停止停止()調用?
[Embed(source="../lib/fetching.swf")]
public var Fetching:Class;
我然後創建一個實例,並將其添加如下的階段:
//class variable
var mc:MovieClip;
mc = new Fetching();
this.addChild(mc);
這使我的動畫出現在屏幕和循環無限期。但是,在撥打mc.stop()
時,動畫不會停止。我已經嘗試通過調用removeChild(mc)
從舞臺上移除動畫片段,但在ENTER_FRAME事件中添加偵聽器告訴我動畫片段仍在播放。
swf文件擴展了movieClip,那麼爲什麼你不能投射一個這樣的? – BadFeelingAboutThis
我一直使用swf文件不使用嵌入。只使用一個Loader。所以我不知道確切的原因。但我知道參考這篇文章:(1):[embedded-movieclip-gotcha](http://www.airtightinteractive.com/2008/05/as3-embedded-movieclip-gotcha/)(2):[embed movieclip從外部swf運行時錯誤](http://jadendreamer.wordpress.com/2010/11/18/as3-fix-embed-movieclip-from-external-swf-runtime-error/)(3):[問題 - 與-embedding-swfs-in-actionscript-or-flex](http://chrismweb.com/2011/03/20/problems-with-embedding-swfs-in-actionscript-or-flex/) –
當您嵌入SWF,你得到的是擴展Loader而不是MovieClip的東西。這個Loader將調用帶有包含SWF的嵌入ByteArray的LoadBytes()。只有在SWF中嵌入特定符號時,嵌入對象纔會成爲MovieClip。 – cleong