dポイントプレゼントキャンペーン実施中!

下記サイトなんですが、1300pxもあるFlashが配置してあるにもかかわらず横スクロールバーが出ていません。
http://www.brightonhotels.co.jp/tateshina/

横は100%、高さはそのままのサイズで配置してあるようですが、横スクロールバーが出ないようにするにはどうしたらいいのでしょうか。
手元にあるFlashファイルを横100%で配置してもうまくいきませんでしたので、Flashファイル内で何かをしていると思うのですが…。

よろしくお願いします。

A 回答 (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.h …
    • good
    • 0
この回答へのお礼

ありがとうございます!まさにその通りです。
参考にさせていただきます。

お礼日時:2007/06/06 19:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!