0

我正在尝试将带有在时间轴中定义的一些帧标签的 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 文件并以我想要的方式控制它?

谢谢!

4

1 回答 1

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在嵌入案例中可能为空:)

于 2012-05-22T17:34:54.340 回答