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/

問題はFlashPlayerのセキュリティモデルにあるのではないかと思います。埋め込まれたswfとのこのタイプの通信を許可していない可能性があります...しかし、Security.allowDomain("*")(危険なショートカット)のようなことを行うことができるかもしれません。

ただし、最初に、allowDomainのドキュメントを確認してください。ドキュメントでは、これを実行できる可能性があると示唆されています。

Security.allowDomain(loader.contentLoaderInfo.url); // 'loader' is a SwfLoader

しかしurl、埋め込みの場合はnullになる可能性があると思います:)

于 2012-05-22T17:34:54.340 に答える