- 締切済み
Flash作成 スキップボタン
こんにちは、ジュエルです。宜しくお願い致します。 さっそく本題です。今学校で企業様の為にHPを作成しています。 その中で私はFlash担当で、そのFlashの中にスキップボタンを作成したいです。どうしたら良いでしょうか? FlashはTOPページに作成したいと思っています。 そのFlashはTOPページでただ動くだけです。(5秒間弱) TOPページのFlashが終了したら、違うページへ進むようにもしたいです。 項目としては、以下のように分裂(?)したいと思っています。 TOP ←ここがFlash | |―会社案内―TOP | | | |―店舗名―TOP | | | |―管理薬剤師・薬剤師―TOP | | | |―営業時間・定休日―TOP | | | |―お問い合わせ―TOP | | | |―アクセス―TOP できれば、戻るボタンを押してももう一度Flashが再生されないようにもしてみたいんですが、できますでしょうか…? ちなみに、Flashは "Macromedia Flash Basic8" というのを使っています。 頭が悪く、理解するのも遅いとは思いますが、一生懸命理解しますので、誰か教えてください! 他の方が書いている『何フレーム目に何をどうする』というのもわかっていないのでそこもお願いいたします。 今の所、フレームは55で終わっています。 絵は8枚~12枚使っています。 書き順もバラバラになっていますが、宜しくお願い致します。 また、何か足りないことがあれば捕捉させていただきます(´`;)
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
> TOPページのFlashが終了したら、 > 違うページへ進むようにもしたいです。 この「違うページ」とは, 具体的にどのページかを書かれていないため 具体的なコードは書けませんが TOPページのFlashが終了する最終フレーム(フレーム55)にキーフレームを作って そのキーフレームに getURL("違うページ.html"); のように書けば良いでしょう。 なおこの 「違うページ.html」のファイルパスを相対パスで指定する場合は TOPページのFlash(SWF)からのパスではなく それを貼り付けたTOPページのHTMLからのパスになります。 (もし TOPページのFlash と TOPページのHTML が同じフォルダにある場合は,どちらともファイルパスは同じになるため,この点は気にしなくても良いです。) === === === > 戻るボタンを押しても > もう一度Flashが再生されないようにも > してみたいんですが、 「閲覧者が戻るボタンを押したかどうか」は Flash では判定できません。 「閲覧者が戻るボタンを押したかどうか」 ではなくて 例えばどんな方法であっても 「TOPページのFlash(SWF)を再生させてから30秒以内に同じページに戻って来た場合」 などでしたら SharedObject(JavaScript などで言う Cookie) を利用すれば判定ができます。 この場合の TOPページのFlash(FLA) のフレーム1 に書くスクリプト例です↓。 //------------------------------------------------ //今現在のDateオブジェクト「now_date」を作成 var now_date:Date = new Date(); //今現在の1970年1月1日からの経過ミリ秒を取得 var now_ms:Number = now_date.getTime(); //ローカルのSOL「user_data」を取得 var so:SharedObject = SharedObject.getLocal("user_data"); //もし「user_data」内に「access_ms」があって if (so.data.access_ms != undefined) { //now_ms と access_ms の差が 30×1000 ミリ秒以内であれば if (now_ms-Number(so.data.access_ms)<=30*1000) { //再生を停止 this.stop(); //この階層全体を非表示にする this._visible = false; //ローカルのSOL「user_data」の「access_ms」に //今現在の1970年1月1日からの経過ミリ秒を保存 so.data.access_ms = now_ms; //「違うページ.html」にジャンプ getURL("違うページ.html"); } } //ローカルのSOL「user_data」の「access_ms」に //今現在の1970年1月1日からの経過ミリ秒を保存 so.data.access_ms = now_ms; //------------------------------------------------ ※ Actionscript 2.0 要 Flash Player 6 以上用 SWF パブリッシュ (当然 Flash Player 8 用 SWF でも OK) 「FN0204003 - SharedObject.getLocal() - Flash テクニカルノート」 http://fumiononaka.com/TechNotes/Flash/FN0204003.html 「指定時からのミリ秒を取得したい」 http://www.openspc2.org/reibun/FlashMX2004/ActionScript/Date/004/index.html もっともこれに関しては Flash を使わずに JabaScript で「戻る」を阻止する方法もあります。 これの方が簡単かもしれません。 「TOPページのHTML」の head 内に書く例↓(これだけ)。 <script type="text/javascript"> <!-- history.forward(); // --> </script> 「ブラウザの戻るボタンを無効にする Javable.Jp」 http://www.javable.jp/blog/129.html
お礼
わああ、事細かに記述して戴き大変嬉しいです!!>< ちょっと試してきますね。お忙しい中ご回答の方本当に有難うございました!!^^*
補足
すみません、捕捉させて頂きます; TOPページ(Flash)にはリンクボタンを付けず、アニメーションが終わり次第自動的に次のページ(中身)に移動する。ようにしたいです。 リンクはほかのページに飛ぶボタンの事です。