我正在尝试将带有时间轴中定义的一些帧标签的swf文件嵌入到我的Flex应用程序中:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="1000" height="563" creationComplete="doSomething()">
<mx:Script>
<![CDATA[
private var movieClip:MovieClip;
private function doSomething():void {
movieClip = swfFile.content as MovieClip;
movieClip.gotoAndPlay('playIntro');
movieClip.addEventListener("swfFinished", doSomethingElse);
}
private function doSomethingElse():void {
//
}
]]>
</mx:Script>
<mx:SWFLoader id="swfFile" width="1000" height="563" source="@Embed(source='test.swf')" />
</mx:Application>
但是,我无法以这种方式控制swf时间线...是否可以嵌入swf文件并以我想要的方式控制它?
谢谢!
答案 0 :(得分:0)
对此进行的一些搜索似乎表明嵌入swf时会发生这种情况。如果你没有嵌入swf就可以逃脱,那就去做吧。
这是我发现允许嵌入工作的解决方案: http://iamjosh.wordpress.com/2008/04/09/embedding-flash-in-flex/
我认为这个问题可能是Flash Player的安全模型,只是预感。它可能不允许与嵌入式swf进行这种类型的通信......但是你可以做一些像Security.allowDomain("*")
这样的事情(一种危险的捷径)。
但首先,请查看allowDomain的文档,因为文档建议您可以执行此操作:
Security.allowDomain(loader.contentLoaderInfo.url); // 'loader' is a SwfLoader
但我猜测嵌入情况下url
可能为空:)