使用SWFLoader的complete
事件加載SWF後,嘗試製作對MovieClip的引用。您的MovieClip將在完整的事件處理程序中從event.target.content
訪問。然後您可以直接在MovieClip上調用stop()
,然後查看是否有效。看下面的例子:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
>
<fx:Script>
<![CDATA[
public var mc:MovieClip;
protected function swfloader1_completeHandler(event:Event):void
{
mc = event.target.content as MovieClip;
mc.addEventListener(Event.ENTER_FRAME,newFrame);
mc.stop();
}
protected function newFrame(event:Event):void
{
if(mc.currentFrame == mc.totalFrames)
{
mc.stop();
mc.removeEventListener(Event.ENTER_FRAME, newFrame);
}
}
protected function button1_clickHandler(event:MouseEvent):void
{
mc.gotoAndPlay(1);
}
]]>
</fx:Script>
<s:SWFLoader source="[REFERENCE TO YOUR SWF]" complete="swfloader1_completeHandler(event)"/>
<s:Button label="Play" click="button1_clickHandler(event)" />
</s:Application>
你使用Loader類嗎?你能發佈你用來加載SWF的代碼嗎? – eterps 2011-12-14 23:21:54
使用Flex 4.6 SWFLoader。只需使用幻燈片的URL路徑設置源媒體資源即可。很簡單。問題可能不在那裏。 SWF的加載正常。 – Robert 2011-12-15 15:01:26