- ベストアンサー
Flash配置で横スクロールバーを出さない方法が知りたい
下記サイトなんですが、1300pxもあるFlashが配置してあるにもかかわらず横スクロールバーが出ていません。 http://www.brightonhotels.co.jp/tateshina/ 横は100%、高さはそのままのサイズで配置してあるようですが、横スクロールバーが出ないようにするにはどうしたらいいのでしょうか。 手元にあるFlashファイルを横100%で配置してもうまくいきませんでしたので、Flashファイル内で何かをしていると思うのですが…。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ステージの横幅が 50px であっても 1300px であっても, HTML 側で SWF の横幅を 100% 表示にすれば, 横スクロールバーは出たことがありませんよ。 横スクロールバーが出るのは HTML の所為ではではないでしょうか。 例えば, テーブルの横幅を1300pxにしておいて,その中に横幅100%のFlash を表示させているとか。 ---ダメな例-------------------------- <table cellspacing="0" cellpadding="0" width="1300" border="0"> <tr> <td>←ここに横幅100%のSWF→</td> </tr> </table> ------------------------------------ つまり, Flash 以外の何かが横スクロールバーを表示させるのだと思います。 例えば, 横1300px×高さ415px の ドキュメント を作成します。 わかりやすいように, ステージとちょうど同じサイズの塗りを,ステージ全体に矩形ツールなどで塗っておいた方が良いと思います。 そして, そのドキュメントを 「aaa.fla」 という名前で任意のフォルダに保存し, 「aaa.swf」をパブリッシュします。 そして, その 「aaa.swf」 を表示させる HTML のソースを次のようにすれば, 横スクロールバーは出ません。 ----------------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>TEST_HTML</title> </head> <body leftmargin="0" topmargin="0" rightmargin="0" bgcolor="#ffffff"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="415" id="aaa" align="middle"> <param name="movie" value="aaa.swf" /> <param name="quality" value="high" /> <embed src="aaa.swf" quality="high" bgcolor="#ffffff" width="100%" height="415" name="aaa" align="middle" type="application/x-shockwave-flash"/> </object> <p align="center"> aaa.swf を width="100%" height="415" で貼り付けています。<br> <br>↓スクロールバーは出ないと思いますが。↓<br> </p> </body> </html> ----------------------------------- 横スクロールバーを出させるようなテーブルやスタイルシートは存在しませんし, 横幅を指定する何かも貼り付けていませんから, ブラウザのウィンドウ横幅をよっぽど小さくしない限り横スクロールバーは出ないと思います。 (ちなみに,ウィンドウの高さを小さくすれば縦スクロールバーは出ますよ。) ===================== 思うのですが(勝手な推測ですが), 「横スクロールバーを出さない方法」が知りになりたいのではなくて, 「Flash を100%表示させたときに SWF 内の中身を拡大縮小させない方法」が知りたいのではないでしょうか。 上のように何もしていない SWF を作成すると, スクロールバーが出ない分,ステージ全体を表示させようとして, SWF の中身自体が伸縮してしましますね。 もし SWF の中身自体を伸縮させたくない場合は, Flash のフレーム1 の最初の行あたりに, 次の1行を加えると,伸縮しなくなります。 -------------------------- // 拡大縮小なし Stage.scaleMode = "noScale"; -------------------------- Flashゲーム講座&ASサンプル集【表示に関する情報について】 http://hakuhin.hp.infoseek.co.jp/main/as/stage.html
お礼
ありがとうございます!まさにその通りです。 参考にさせていただきます。