- ベストアンサー
Flashでのページ移動(自動)の仕方を教えてください
FlashMXをMacOSXで使用しています。 ホームページを作成しています。 やりたいことは、トップページにFlashでアニメーションを入れ、そのアニメーションが終了したら(ボタンなどを押さずに)自動的に別のページが表示されるようにしたいと思います。 例えば、 1トップページ表示 2アニメーション開始→終了 3gooのページが表示される という具合です。 アニメーションの最後にアクションスクリプトを入れると思うんですが、どうやっていいのかわかりません。 よければ、ご教授ください。 お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#3です。 >> キーフレームにしていないとどのような影響がでるんでしょうか? どうなりましたか? どうなるかを実験で実感することが一番大切だと思います。 ActionScript は, FLA ファイル内であると, 「フレーム」 と 「ボタンシンボルのインスタンス」 と 「ムービークリップ」 の3箇所に書くことができます。 (注:これはFLAファイル内にActionScriptを書く場合です。Flash MX 2004 以降は 外部に AS ファイルを置けますがその話は抜きです。) 「フレーム」 と 「ボタンシンボルのインスタンス」 と 「ムービークリップ」 の3箇所に書くことができますが, 「フレーム」に書く場合は,キーフレームにしか書けません。 例えば, 任意のレイヤーの フレーム25(25フレーム目) をキーフレームにして, そのキーフレームである フレーム25 を選択した状態で ActionScript を書くと, アニメーションが再生され フレーム25 に達したときその ActionScript は実行されます。 ですから,キーフレームにするフレームを変えることによって, ActionScript を実行するタイミングを変えることができます。 例えば フレーム5 をキーフレームにして,そのフレームにActionScriptを書けば, その ActionScript は アニメーションが再生され フレーム5 に達したとき実行されます。 フレーム5 をキーフレームにして,そのフレームにActionScriptを書いた場合, そのフレームの上半分に a というマークが付きます。 a は Action の略で,a マークが付いているか付いていないかで,そのフレームに ActionScript が書いてあるかどうかを判断できます。 例えば↓ http://1art.jp/flash/le/lesson14/lesson14.htm ↑ActionScript を書いたフレームに a マークが付いていますね。 では, キーフレームでないフレームに ActionScript を書くとどうなるかというと, その手前のキーフレームに ActionScript が書かれます。 例えば,30フレームあるレイヤーの フレーム5 をキーフレームにして, フレーム10 を選択してそのフレームにActionScriptを書けば, フレーム5 に a マークが付くはずです。 a マークが付いても付かなくても, もともと書いた ActionScript が間違っていればちゃんと動作しませんが, 書いた ActionScript が正確なものであれば, a マークが付いたフレームにアニメーションが達したとき, その ActionScript は実行されます。
その他の回答 (4)
- suzuko
- ベストアンサー率38% (1112/2922)
#2です。検証してみました。 アニメーションを作り、最終フレームに getURL("http://goo.ne.jp/"); を記入。(#1の方のは「"」が抜けています) HTMLには、 <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','幅','height','高さ','src','ファイル名','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','ファイル名' ); //end AC code </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="幅" height="高さ"> <param name="movie" value="ファイル名.swf" /> <param name="quality" value="high" /> <embed src="ファイル名.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="幅" height="高さ"></embed> </object></noscript> と配置しました。(日本語部分はファイルにより変わります) これをリモートに上げれば、キチンとgooに繋がりました。ローカルではアンチウイルスソフトに阻まれましたが。^^; ご報告まで。
まず,あんまり関係なさそうな話から。 「このコントロールをアクテブ化して・・・」 と getURL が効かないことは別問題です。 「このコントロールをアクテブ化して・・・」 の表示が出ても出なくても, フレームのスクリプト getURL は動作します。 影響が出るとしたら,そちら(IE)の問題ではなく, Flash Player の 「グローバルセキュリティ設定」の問題でしょう。 「質問:ホームページ用に提供されている、Flashで作られたメニューについて」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2038417 ↑教えて!goo ↓OKWave (同じです) http://okwave.jp/kotaeru.php3?q=2038417 ------------------------------------------------------ 次に本題。 アニメーションの最終フレームをキーフレームにして, そのキーフレームを選択した状態で, 下のアクションパネルの白いアクションを書く部分に, getURL("http://goo.ne.jp/"); と書いてください。 URL は " " で囲むことが必要です。 URL はそれ自体が文字列の "値" である必要があります。 getURL(http://goo.ne.jp/); だと http://goo.ne.jp/ は変数扱いになります。 (実際には 「 : 」 などが入っていて変数扱いにもなりませんが。)
- suzuko
- ベストアンサー率38% (1112/2922)
もしかして、トップページのFLASH上にカーソルを重ねると「このコントロールをアクテブ化して・・・」と表示されませんか? その場合、アニメーションは表示されますが、スクリプトはプラウザによって無効にされています。ページに飛ばないのは、FLASHの問題ではなくHTMLでのFLASHの設置の仕方です。
補足
返事ありがとうございました。 macなのか、ブラウザなのかコメントは表示されません。 Safariでも、IEでも表示されませんでした。 何が原因なんでしょうね? もしお分かりだったら教えてください。 よろしくお願いします。
- ka_tatsuki
- ベストアンサー率44% (49/111)
タイムラインの最後のキーフレームに、下記のアクションスクリプトを入れてください。 getURL(http://goo.ne.jp/); で、OKです。
補足
早速の返事ありがとうございました。 ただ、それをしていたんですができませんでした。 なにかその他に設定があるのでしょうか?
お礼
ありがとうございます。 できました。 キーフレームにしていなかったです。 キーフレームにしていないとどのような影響がでるんでしょうか? まだまだ勉強しないと行けませんね。 ありがとうございました。