• ベストアンサー

Flashでのエクスパンドバナーの作り方

Flashでのエクスパンドバナーの作り方をご教授ください。 私自身「エクスパンドバナー 作り方」などと、Googleでいろいろと調べたましが、解りませんでしたので、こちらに質問させていただきました。 よろしくお願いします。

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

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

「Flashによるエキスパンドバナーの作り方 [Flash] All About」 http://allabout.co.jp/gm/gc/66828/ 上記サイトの HTMLコード だけではわかりにくいかと思ったので 上記サイトの HTMLコード を使わせてもらった具体的な作成サンプルの作り方例を書きます。 ◎同じフォルダ内に用意するもの(3ファイル) 「comp.swf」…一応400×300pxのFlashファイル 「banner.jpg」…160×40pxのマウスオーバー用バナー 「test.html」…下記 HTMLコード を記入する -------------------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>エクスパンドバナー テストサンプル</title> <script type="text/javascript"><!-- //Flashを表示する関数の定義 function showComp(){ document.getElementById('compSWF').style.display = ""; } //Flashを非表示にする関数の定義 function hideComp(){ document.getElementById('compSWF').style.display = "none"; } // --></script> </head> <body> <!-- ↓マウスオーバー用バナー↓ --> <p><img src="banner.jpg" alt="" width="160" height="40" border="0" onmouseover="showComp()" onmouseout="hideComp()" /></p> <!-- ↑マウスオーバー用バナー↑ --> <!-- ↓上記サイトに書いてある部分(一行目のみ変更)↓ --> <div id="compSWF" style="position:absolute;top:100px;left:100px;display:none;"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="400" height="300" id="comp" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="comp.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent" /> <embed src="comp.swf" wmode="transparent" quality="high" width="400" height="300" name="comp" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> </div> <!-- ↑上記サイトに書いてある部分(一行目のみ変更)↑ --> <!-- ↓適当な本文↓ --> <p>あいうえおあいうえおあいうえお</p> <p>かきくけこかきくけこかきくけこ</p> <p>さしすせそさしすせそさしすせそ</p> <p>たちつてとたちつてとたちつてと</p> <p>なにぬねのなにぬねのなにぬねの</p> <p>はひふへほはひふへほはひふへほ</p> <!-- ↑適当な本文↑ --> </body> </html> -------------------------------------- ブラウザで「test.html」を表示させて, 「banner.jpg」にマウスオーバーすれば「comp.swf」が表示され 「banner.jpg」からマウスアウトすれば「comp.swf」が消えると思います。 実際は Flash の「comp.swf」内に × ボタンでも作って その × ボタンから JavaScript の 関数hideComp を実行しても良いと思います。 Flash から JavaScript の関数を実行させる方法は Flash の バージョン や Actionscript のバージョンによって変わるので今ココでは何とも言えません。 Actionscript 1.0 や 2.0 で Flash Player 7 以下用の SWF を作成する場合は getURL で JavaScript が実行できます。 Actionscript 1.0 や 2.0 で Flash Player 8 以上用の SWF を作成する場合は ExternalInterface.call メソッド で JavaScript が実行できます。 Actionscript 3.0 でも同じく ExternalInterface クラス の使用で JavaScript が実行できます。 お持ちの Flash 作成ソフトや 作ろうとされているものに応じて Google などで 「getURL JavaScript」や 「ExternalInterface.call JavaScript」 などと検索してもらうと それ関連のページが出て来て詳細がわかると思います。 要するに 「HTML & スタイルシート」 と 「JavaScript」 と 「ActionScript」 との連携です。 その連携のしかたはバージョンや対象や動作によって変わるので 全てを通した説明があるサイトはほとんどないと思います。 (仮にあったとしても,バージョンや動作などがどこかで合わないでしょう。) 私が作ってみたものの表示例↓

tarou312
質問者

お礼

お返事が遅くなり、大変申し訳ございません。 BlurFiltanさんの通り試したところ、上手く実装する事ができました。 本当にありがとうございました。

関連するQ&A