- ベストアンサー
フラッシュ終了後、自動的に次のページへ
- 自分のHPのトップ画面にフラッシュを流しています。43秒後にに移動します。
- フラッシュの時間をはかって大体の時間でメニュー画面にいくようにしているのですが、それではなく、フラッシュが終わったらメニュー画面に行くようにするには、どうすればいいでしょうか?
- 質問者は自分のウェブサイトのトップ画面にフラッシュを設置し、その終了後に自動的にメニュー画面に遷移させたいとしています。現在は43秒後にメニュー画面に遷移していますが、フラッシュが終わったらすぐにメニュー画面に遷移する方法を知りたいとのことです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>> フラッシュが終わったら 何をもって,Flash の終了としているのかがわからないので回答できません。 例えば, 変数の値が 0→1→2→…→99→100 と変化し, 100 になったとき,他のページに移動するのであれば --------------------------- onClipEvent (enterFrame) { ある変数++; if(ある変数 == 100){ getURL("他のページのURL"); } } --------------------------- のようになるでしょうし, タイムラインを使ってアニメーションが流れていて, 最終フレームまでアニメーションが再生されたときに他のページに移動するのであれば, 単に最終フレームをキーフレームにして, そのキーフレームを選択した状態で,アクションパネルを表示させ, ---------------------------- stop(); getURL("他のページのURL"); ---------------------------- と書けばいいだけのことになります。 これ↑のことでしょうか? また,書かれている JavaScript と同様にしたいのであれば, _root に msgbox というインスタンス名のダイナミックテキストを用意しておいて, 43秒カウントを始めたい場所(フレーム1?)に次のように書けば良いと思います。 ----------------------------- setTimeout(link, 43000); _root.msgbox.text = "43秒後にに移動します"; function link() { // 相対パスでも可↓ getURL("http://www.google.co.jp/"); } ----------------------------- ただし, 上記 ActionScript の setTimeout は Flash 8 以降でないと使えません。 ※ というか,ヘルプにも,Flash 8 の ActionScriptエディタの項目にも無いのに, なぜか setTimeout 関数が Flash 8 では使えます。 なぜだかわかりませんが,参考URL↓。 http://www.fumiononaka.com/TechNotes/Flash/FN0512001.html Flash MX 2004 ,Flash MX をお使いだとだと,setInterval 関数を使うことになると思います。 http://livedocs.macromedia.com/flash/8_jp/main/00001766.html また,Flash 5 だと,getTimer() と onEnterFrame の組み合わせでなんとかなると思います。 また,Flash 4 だと,getTimer() の連続呼び出しでなんとかなると思います。 とにかく,何をもって,Flash の終了としているのかがわかりません。 もし上記内容で解決できなければ,補足説明してください。 わかれば回答します。 また補足説明される場合はご使用の Flash のバージョン, もしくは, パブリッシュしたい SWF のバージョンを書いてください。 同じ事を説明するにも,バージョンによって回答が変わる場合があります。