メイン コーダーズルーム【スクリプト系】 ウインドウサイズにあわせて横幅をあわせたい。 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
asahi | Åê¹ÆNo.11086 投稿日時: 2004-9-25 23:41 |
新米 居住地: 投稿: 2
使用環境:
WinXp,Flash MX Version6.0 |
ウインドウサイズにあわせて横幅をあわせたい。 http://www.visualworks.jp/flash/index.html
ここのサイトのようにウインドウのサイズに横幅を合わせたいのですがうまくいきません。 html側をheightを固定してwidth=100%にしてみましたが、縦幅が微妙に変化してしまいます。 何かスクリプトの記述が必要なのかと思い投稿させていただきまた。どなたかご教授お願いします。 |
pinkgear | Åê¹ÆNo.11090 投稿日時: 2004-9-26 3:06 |
半人前 居住地: 投稿: 35
使用環境:
Mac OS X 10.4.2, Studio MX 2004 w Flash MX Pro |
Re: ウインドウサイズにあわせて横幅をあわせたい。 ども。
参考サイト(http://www.visualworks.jp/flash/index.html)の様にウインドウのサイズに横幅を合わせたいとありますが、「width="1024" height="400"」と設定されているので、別に合わせているわけではないと思います。うちの環境(1280x1024)では普通に切れます。(^^; ウインドウのサイズに合わせてコンテンツをリサイズしたい場合は、構成にも大分関わってきますのではしょっちゃいますけど、Stageクラスを使えば出来ます。 詳しくは付属のヘルプを見たら分かると思いますよ。 #ちなみに、StageクラスがFlashのどのバージョンから使えるのか分からないので、flash mx 2004 での話という事で。(^^; #ついでに、ご使用の環境を書かれた方がいいかと思いますよ。 |
野中文雄 | Åê¹ÆNo.11092 投稿日時: 2004-9-26 4:23 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: ウインドウサイズにあわせて横幅をあわせたい。 対応PlayerがFlash 6ですので、基本的にFlash MX以降で使用できます。
引用: pinkgearさんは書きました: 「縦幅が微妙に変化」というのがどういう状況なのかわかりません。→【第三者から見てわからない】 いずれにしても、幅と高さの一方を「固定」することは、できないと思われます。もし実現しようとするなら、幅高さを可変にしたうえで、スクリプトで一方を固定するというような処理になるでしょう。 このような処理が必要なときには、pinkgearさんのいわれたStageクラスを使用します。 「画面サイズに対応して文字サイズ変更」 「ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい」 引用: asahiさんは書きました: |
asahi | Åê¹ÆNo.11093 投稿日時: 2004-9-26 5:22 |
新米 居住地: 投稿: 2
使用環境:
WinXp,Flash MX Version6.0 |
Re: ウインドウサイズにあわせて横幅をあわせたい。 環境を書くのを忘れていました。ご迷惑をかけて申し訳ありません。;
参考に貼ったURLのサイトはブラウザのサイズに合わせていたわけではなかったんですね。 「縦横が微妙に変化」という表現も非常にわかりにくいですね。すいませんでした。; ブラウザのサイズを変えるとそれに伴ってswfの表示サイズも縦のほうだけ変化していました。(縦=160px 横=100%としていたのですが) Stageクラスを使えばできるということなのですが、この場合jpg画像などを使った場合どうなるのでしょうか。拡大されて荒くなったりするのでしょうか。 |
ながながい | Åê¹ÆNo.11094 投稿日時: 2004-9-26 10:05 |
半人前 居住地: 京都 投稿: 30
使用環境:
WindowsXP SP2, Flash CS3, Flash8 |
Re: ウインドウサイズにあわせて横幅をあわせたい。 まだ初心者なので力になれるかはわかりませんけどよろしくお願いします。
Stageオブジェクトを用いてステージの大きさを拡大した場合、jpeg画像など荒くなります。 引用:
以前フルスクリーンのコンテンツを制作していたときの経験ですので、asahi さんの今回の事例(横幅が最大)とは少し違いますが、そのときの解決策を簡単に紹介しますね。 -------------------------------------------- ■状況 ・swf ファイル自体のサイズは 400W×300H ・root 上に 200W×150H の MC "photo_mc" を配置。 ・その"photo_mc"内部に同じサイズの jpeg 画像があります。 フルスクリーン表示するモニタが例えば 1024W×768H だとして、Stage.scallMode="showAll"を使って表示しようとすると、"photo_mc" および jpeg 画像が拡大され、結果画像は荒れて表示されてしまいました。 ■解決策 なので次のようなスクリプトを使って "photo_mc" を縮小させ、原寸どおりに表示させることに成功しました。 (フレームアクション:最初にフレームに記述) stage_W = Stage.width;//ステージの横幅(400)を取得 stage_H = Stage.height;//ステージの縦幅(300)を取得 screen_W = System.capabilities.screenResolutionX;//ユーザのモニタの横幅(1024)を取得 screen_H = System.capabilities.screenResolutionY;//ユーザのモニタの縦幅(768)を取得 ratio_W = screen_W/stage_W; ratio_H = screen_H/stage_H; ratio = Math.min(ratio_W,ratio_H);//拡大される比率を求めている Stage.scaleMode = showAll; _root.photo_mc._xscale /= ratio;//photo_mc の横幅を原寸に _root.photo_mc._yscale /= ratio;//photo_mc の縦幅を原寸に -------------------------------------------- asahi さんの場合は横幅のみを最大幅にしますのでもう少し工夫がいるようですが あ、まったく別の案としては、swf 自体のサイズを 2000W×300H といったものすごく横長にしておいて、CSS の overflow を hidden にして縦横のスクロールバーを非表示にしてやるという方法なんてどうでしょう? で、ActionScript でモニタの横幅を取得して、それを基準にしてすべてのMCをX座標を相対的に移動してやる、というのもおもしろいかもしれませんね |
野中文雄 | Åê¹ÆNo.11095 投稿日時: 2004-9-26 12:51 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: ウインドウサイズにあわせて横幅をあわせたい。 HTML側の<object><embed>タグで、処理したということですね。すると、scale属性を、"exactfit"にしていると思います。つまり、「幅高さを可変にしたうえで」「一方を固定する」という処理を、HTMLで行ったことになります。静止画像を1枚配置して試したところでは、期待どおりに動作しているように見えます。
引用: asahiさんは書きました: Stageクラスを使ったからといって、Flash Playerのビットマップ表示の処理方法が変わってしまうとは考えられません。 つまり、Stageクラスを使わなくても、[伸縮](scale)を[フィット]("exactFit")にしてプラウザ表示してみれば簡単に試せます。尋ねるより、実際のコンテンツを使ってご自分で確認された方が早いし、確実でしょう。 引用: Stageクラスを使えばできるということなのですが、この場合jpg画像などを使った場合どうなるのでしょうか。拡大されて荒くなったりするのでしょうか。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |