3

継承したサイトの既存のフラッシュマストヘッドに(すばやく!)イントロを追加する必要があります。ソースの.flaにアクセスできないため、イントロをラッパーswfに入れ、現在のマストヘッドをロードして、の表示リストに追加することで、問題に取り組みましたEvent.INIT。ここまでは順調ですね。(ちなみに、swfsはフラッシュプレーヤー9用に構築されており、AS3を使用しています。)

私が抱えている問題は、イントロが正常に再生され、ロードアニメーションであるマストヘッドswfの先頭がロード/表示されても、マストヘッド自体が実際に再生されることはないということです。基本的に、私の質問は、アクションスクリプト3ベースのswfが、埋め込みswfのトップレベルとは対照的に、別のswfの子である場合に異なる動作をする原因は何でしょうか。

潜在的に重要な詳細:埋め込みはswfobjectで処理されており、flashvarsは渡されていません。2つのパラメーターがあります。それはbase: "/flash/"wmode: "opaque"です。すべてのswfsとフラッシュデータはに存在し/flash/ます。フラッシュ要素(私が作成したイントロを除く)は、私がよく知らない Inkyフラッシュフレームワークを使用して構築されました。

更新:問題へのアプローチを再検討し、ExternalInterfaceを使用して機能するようにしました。再生が終了すると、イントロswfにjs関数を呼び出させます。これにより、イントロswfが交換され、現在のマストヘッドに置き換えられます(アプローチの概要はここにあります)。でも、なぜ以前に見た行動を目撃したのか知りたいので、どんなアイデアや提案も歓迎します。

4

1 に答える 1

1

フラッシュファイルにいくつかの潜在的な問題がある可能性があります。

swfがAS2でコンパイルされた場合、別のswfにロードされるときに混乱する_rootを参照している可能性があります。AS2では、_lockrootを使用して回避できます。AS3では、_lockrootが継承されるため、これはもはや問題ではありません。

映画がタイムラインベースの映画である場合は、play()関数を呼び出すことができます。

イントロが外部アセットをロードする場合は、すべての外部アセットに対してパスが正しく設定されていることを確認する必要があります。コンテナのswfファイルとイントロを同じディレクトリに配置してみてください。または、Safariの[アクティビティ]ウィンドウを使用してトラブルシューティングを行い、「404が見つかりません」があるかどうかを確認します。

もう1つは、一貫性のないフラッシュバージョンです。Flashバージョン9とFlashバージョン10をロードすると、問題が発生する可能性があります。

これらのポインタがお役に立てば幸いです。

于 2010-02-04T01:19:28.577 に答える