• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:flashで切り替わるバナーの外部画像を全部読み込んでからスタートする方法)

flashで切り替わるバナーの外部画像を読み込んでからスタートする方法

このQ&Aのポイント
  • flashで切り替わるバナーの外部画像を読み込む方法について教えてください。
  • バナーの画像やリンク先は外部テキストの変数から取得しており、最初の再生時に画像が読み込まれる前に再生されてしまう問題があります。
  • メインバナーのようになるように作成する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

なんだか状況がよくわかりませんが, スクリプトの無茶で無駄な点については下記URLをご参考に↓。 http://okwave.jp/qa/q5658721.html それで,今回は, 「切り替わるバナーの外部画像を全部読み込んでからスタートする方法」 ですね。 バージョンが抜けてますので回答できませんがスクリプトを見る限り Fash MX 以上をご使用で, Flash Player 6 以上用の SWF をパブリッシュしようとされていて, ActionScript 1.0 を使われている。 ところまではわかります。 Fash MX だと, 画像を読み込む各MCに onClipEvent(load){} を用意し, そこでカウントを加算させて画像のロード枚数をカウントすれば良いのではないかと思います。 フレームのスクリプト例↓ ------------------------------- // このタイムライン(_root)の再生を停止 stop(); // LoadVarsインスタンス「LINK」を作成 LINK = new LoadVars(); // テキストロード完了時のイベントハンドラメソッドを定義 LINK.onLoad = function() { // i を 1→4 で 1 ずつ加算してループ for (i=1; i<=4; i++) { // _root の btn0? に LINK 内の vbn0? をロード _root["bn0"+i].loadMovie(this["vbn0"+i]); } }; // 外部テキスト「link.txt」をロード LINK.load("link.txt"); //もし カウント用変数 cnt が未定義であれば if (cnt == undefined) { // カウント用変数 cnt の初期化 cnt = 0; } // 1フレーム進む時間ごとに毎回実行するメソッドを定義 this.onEnterFrame = function() { // もしカウント cnt の値が 8 以上になれば if (cnt>=8) { // このタイムラインの再生を開始 play(); } }; ------------------------------- bn0? の代表例として bn01 に書くスクリプト↓ -------------------------- on (release) { getURL(_root.LINK.vlink01); } // このMCが表示されたり何かがロードされたとき onClipEvent (load) { // _root の変数 cnt を 1 加算 _root.cnt++; } -------------------------- 上側のフレームのスクリプトで  // もしカウント cnt の値が 8 以上になれば  if (cnt>=8) { が,なぜ 8 なのかはわかりますよね。 各 bn0? 自身がステージ上に登場したときに _root.cnt++; が実行され, 各 bn0? の画像がロードされたときにも _root.cnt++; が実行されるからです。

cbktis
質問者

お礼

ありがとうございます。 仰るようにしたら対処できました!!