- ベストアンサー
空のムービークリップにswfを読み込む方法
- 環境はactionscript3.0です。同じサイズの.swfが4種、それぞれにMouseEventでURLRequestを1フレ目に埋め込んであります。空のmcに1種目の.swfを読みこみ、1種目の.swfの最後のフレームに2種目を読み込むスクリプトを埋め込み、2種目の.swfの最後のフレームに3種目を読み込むスクリプトを埋め込み・・・・・
- 要約2
- 要約3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
初心者ならUILoaderがオーサリング感覚で使えて プリローダとかからませるのも簡単なのでオススメです ウインドウ>コンポーネント のUserInterfaceにUILoaderがいるので そいつを配置して使います このUILoaderは sourceプロパティに 文字列でURLを入れ込むだけで 勝手にロード開始してくれて とっても簡単です percentLoadedプロパティに 読み込み済みのパーセンテージがあり プリローダ作るのも楽 スクリプティング中心でやるときは flaファイルのアセットの中に入ってないと使えない ちょっと扱いにくい所があるやつでもありますが オーサリング中心の時は便利なやつです 読み込まれるswfファイルには ムービー終了のフレームでルートに dispatchEvent(new Event("MOVIE_END")) と書いておき 親swfのほうでuilをUILoaderインスタンス名として var cnt:int=0 var swfList=["swf1","swf2","swf3"] var urlList=["url1","url2","url3"] uil.source=swfList[cnt] uil.addEventListener(Event.COMPLETE,onComp) uil.addEventListener(MouseEvent.CLICK,onClick) function onComp(e){ uil.content.addEventListener("MOVIE_END",onMovieEnd) } function onMovieEnd(e){ cnt++ uil.source=swfList[cnt] ] fnction onClick(e){ navigateToURL(urlList[cnt],"_self") } と書いておけば動作確認してないですが 言われているような動作になるはずです
その他の回答 (2)
- tabetaato
- ベストアンサー率0% (0/1)
No.1様 早速のご助言、ありがとうございます! なるほどーと言いたいところなのですが、全くの専門外でして・・・。映像制作が本業なのですが、なぜか今回このような内容のものを作っています。No.1様のおっしゃることがぼんやりとしかイメージできない、というのが正直なところです。URLRequestも、なんとかきちんと動作させるところまで丸2日かかってしまいました。 親swfを作り、そこに画像のみのswfを読み込み、それぞれにリンク先のURLの切り替えとswfの切り替えをUILoaderかLoaderクラスで設定する、ということですよね。もう少し具体的に教えていただけると助かります。
- H240S18B73
- ベストアンサー率65% (190/288)
swfがかわるだけならUILoaderかLoaderクラスを 使ったほうがスマートな気がします htmlに貼付けるswfを変更するのは javascriptかPHP使うカンジになると思いますが Ajaxでやらないとページリロードが起きて不細工です UILoaderなり使えば済む事をわざわざ Ajax出動までさせてやることはないと思います あとこれは個人的な意見ですが あまりスクリプトを散在させない為にも 各swfはムービーと割り切って リンク先のURLの切り替えも 親swfにやらせるような作りの方が 良いかなと思います
お礼
回答をありがとうございました。 書き込み場所をとちってしまいましたので、ANo.2を見てください。
お礼
No.3さま、ご回答いただきましてありがとうございました! 早速明日にも試してみたいと思います。取り急ぎ、お礼申し上げます。
補足
補足:No.3さま、その後このUILoaderを使用する方法で試してみましたが、ロード用のswfは動作しているようですがswfの読み込みに失敗していました。 その後、専門の方にお聞きする機会があり、修正してもらい、正しく動作するようになりました。基本的にはNo.3さまの記述どおりです。 ありがとうございました!