トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     Flashをブラウザ全体に100%表示
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
faby
Åê¹ÆNo.18980
投稿日時: 2005-7-22 2:57
新米
居住地:
投稿: 9
使用環境:
10.4.7
pro7.2
Re: "noScale"と"exactFit"の共用
はじめまして。途中割り込みさせていただきます。
ここのトピ主さんのように私も背景画像(_root.background)はブラウザを表示している「ウィンドウ内の領域全体」width:100% height:100% で表示し、メニューとなるムービークリップ(_root.mc)を固定サイズで画面右上端(margin-top:0px margin-right:15px のところ)に設置したいと考えています。
ただ一点、ここのトピ主さんと求めているものが違うようなのは、一旦表示した後にブラウザのウィンドウサイズを変更しても背景画像はあくまで変更後のウィンドウサイズに追随し、メニューのムービークリップも固定サイズのまま画面右上端(margin-top:0px margin-right:15px のところ)にあるという表示法です。

トピ主さんが求められてるところまでは、私もひろゆきさんがアドバイスされた方法で出来たのですが、そこから先のところで立ち止まっています。

たとえば、_root の1フレーム目に
Stage.scaleMode = "noScale";

とありますが、それを _root.mc だけに作用するようにして、それとは別に _root.background 用に以下のスクリプトが作用するようにするということはできないものなのでしょうか?
Stage.scaleMode = "exactFit";


ちなみに私の利用環境は
Mac OSX10.3.9/Flash MX/Safari1.3/1280×854モニタサイズです。
野中文雄
Åê¹ÆNo.18981
投稿日時: 2005-7-22 4:14
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: "noScale"と"exactFit"の共用
スレッドのご質問者が最終的に採用されたStage.onResizeリスナーイベントを使う方法は、「ブラウザのウィンドウサイズを変更」するたびに再設定の処理が行われると思いますけど。

背景画像のMovieClipのみサイズを変更し、固定サイズのインスタンスは対象から外せば(場合によっては座標のみ修正すれば)よいのではありませんか?
引用:
fabiさんは書きました:
ただ一点、ここのトピ主さんと求めているものが違うようなのは、一旦表示した後にブラウザのウィンドウサイズを変更しても背景画像はあくまで変更後のウィンドウサイズに追随し、メニューのムービークリップも固定サイズのまま画面右上端(margin-top:0px margin-right:15px のところ)にあるという表示法です。

Stage.scaleModeプロパティは、クラス名のとおりステージに対する設定です。個別のインスタンスを指定して、適用することはできません。
引用:
たとえば、_root の1フレーム目に
Stage.scaleMode = "noScale";

とありますが、それを _root.mc だけに作用するようにして、それとは別に _root.background 用に以下のスクリプトが作用するようにするということはできないものなのでしょうか?
Stage.scaleMode = "exactFit";


----------------
 

ひろゆき
Åê¹ÆNo.18982
投稿日時: 2005-7-22 4:28
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: "noScale"と"exactFit"の共用
引用:
トピ主さんが求められてるところまでは、私もひろゆきさんがアドバイスされた方法で出来たのですが、そこから先のところで立ち止まっています。

どこをお読みになって、何を実行されたのか分からないのですが。
なので、どこで立ち止まっているのかも分からないのですが。

_root.mc (基準点は右上) を配置。
_root.background (基準点は左上) を配置。
Stage.scaleMode = "noScale";
Stage.align = "TL";
function setPosition() {
 _root.mc._x = Stage.width-15;
 _root.mc._y = 0;
 _root.background._width = Stage.width;
 _root.background._height = Stage.height;
}
setPosition();
ls = new Object();
ls.onResize = setPosition;
Stage.addListener( ls );
HTMLの書き出しは、width:100% height:100% salign:TL

上記のようにするのでは、ダメなのでしょうか?


----------------
質問する際は、回答者に具体的な情報を与えてください。

faby
Åê¹ÆNo.18985
投稿日時: 2005-7-22 5:50
新米
居住地:
投稿: 9
使用環境:
10.4.7
pro7.2
Re: "noScale"と"exactFit"の共用
すみません。初投稿だったもので、一つの投稿に対して「返信」ボタンを押して返信すれば、その返信元の記事を参照したというのは自明のものなのかと思ってました。
引用するとゴチャゴチャするのでは?と余計な気をまわしてしまいましたね

引用:

野中文雄さんは書きました:
スレッドのご質問者が最終的に採用されたStage.onResizeリスナーイベントを使う方法は、「ブラウザのウィンドウサイズを変更」するたびに再設定の処理が行われると思いますけど。


Takuya0326さんが、No.13863で書かれた方法でも試してみたのですが、こちらが希望している形にはなりませんでした。希望してる形というのは後ほど書かせていただきます。

引用:

野中文雄さんは書きました:
背景画像のMovieClipのみサイズを変更し、固定サイズのインスタンスは対象から外せば(場合によっては座標のみ修正すれば)よいのではありませんか?


「固定サイズのインスタンスは対象から外」す方法が考えつかないものでして

引用:
野中文雄さんは書きました:
Stage.scaleModeプロパティは、クラス名のとおりステージに対する設定です。個別のインスタンスを指定して、適用することはできません。


なるほど。やはり適用できないんですね。ありがとうございます。


引用:

ひろゆきさんは書きました:
どこをお読みになって、何を実行されたのか分からないのですが。
なので、どこで立ち止まっているのかも分からないのですが。


とりあえず最初に参照させていただいていたのは、前回投稿(No.18980)のレス元である、ひろゆきさんの No.13856 の記事です。そこで書かれている以下のやり方をそのまま適用しました(赤字部分のみ手を加えて)。

引用:

ひろゆきさんは書きました:
例えば、_root.mc は、ブラウザのサイズにかかわらず、常に同じサイズで表示し、
_root.background は、ブラウザのサイズに合わせるというのであれば、

_root の1フレーム目に
Stage.scaleMode = "noScale";
Stage.align = "TL";
sW = Stage.width;
sH = Stage.height;

_root の2フレーム目に_root.mc (中心点は中央) を配置。
onClipEvent (load) {
  this._x = _root.sW -15;
  this._y = _root.sH =0;
}
とすれば、ブラウザの中央に表示されますし。
_root のの2フレーム目に_root.background (中心点は左上) を配置。
onClipEvent (load) {
  this._width = _root.sW;
  this._height = _root.sH;
}
とすれば、ブラウザに合った大きさになると思うのですが。

HTMLの書き出しでは、width:100% height:100% salign:LT で。


また、どこで立ち止まっているかと申しますと、ひとまずそれを実行した状態では、最初に書き出された HTML ファイルをブラウザで読み込んだときにはブラウザを表示している「ウィンドウ内の領域全体」に背景画像(_root.background)は width:100% height:100% 表示されるのですが、そこでブラウザウィンドウの表示サイズを変更すると背景画像(_root.background)の表示サイズは最初に読み込んだ時点で表示されたサイズのままで、ブラウザウィンドウの新たな表示サイズに追随してくれないのです(Stage.scaleMode = "exactFit" で指示したときのようにはならないと言いますか)。ただ、その状態で一度ブラウザのリロードボタンを押せば、新しいサイズに追随してはくれるのですが...。

そこで私が望んでいたのは背景画像(_root.background)は Stage.scaleMode = "exactFit" で指示したときのように表示され、メニュー画像(_root.mc)が固定サイズで指定の位置(margin-top:0px margin-right:15px のところ)に表示されるというものでした。

なお、以下の方法も試してみようとしたのですが、青字のところに「シンタックスエラーがある」というダイアログが出てしまって、うまく行きません。私が判断出来うる限りではおかしいところがあるようにも見えないのですが

引用:

ひろゆきさんは書きました:
_root.mc (基準点は右上) を配置。
_root.background (基準点は左上) を配置。
Stage.scaleMode = "noScale";
Stage.align = "TL";
function setPosition() {
 _root.mc._x = Stage.width-15;
 _root.mc._y = 0;
 _root.background._width = Stage.width;
 _root.background._height = Stage.height;
}
setPosition();
ls = new Object();
ls.onResize = setPosition;
Stage.addListener( ls );
HTMLの書き出しは、width:100% height:100% salign:TL
野中文雄
Åê¹ÆNo.18986
投稿日時: 2005-7-22 6:29
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: "noScale"と"exactFit"の共用
「形式的」にどの投稿に対するポストかは、[スレッド表示]にすれば確認できます。むしろ「実質的」「具体的」に、スレッド内容のどこまで理解され、何を試されたのかのご説明が必要だということです。

今回の場合には、Stage.onResizeリスナーイベントを利用した旨のご質問者のまとめがあり、私もドキュメントを引用しましたので、その内容をどこまで理解されているのかがポイントに思えます。
引用:
fabiさんは書きました:
すみません。初投稿だったもので、一つの投稿に対して「返信」ボタンを押して返信すれば、その返信元の記事を参照したというのは自明のものなのかと思ってました。

Stage.onResizeハンドラでは、わざわざ特定のインスタンスについて(サイズ・座標変更の)処理を行っていますので、単純に何もしなければ対象から外れます。
引用:
「固定サイズのインスタンスは対象から外」す方法が考えつかないものでして

上述の考え方で、背景画像とサイズ固定のMovieClipそれぞれを処理すれば、サンプルのようになります。スクリプトは、基本的にひろゆきさんの提示されたものと変わりがありませんので、割愛します。
引用:
そこで私が望んでいたのは背景画像(_root.background)は Stage.scaleMode = "exactFit" で指示したときのように表示され、メニュー画像(_root.mc)が固定サイズで指定の位置(margin-top:0px margin-right:15px のところ)に表示されるというものでした。

インデント代わりに、全角スペースが入っているようです。単純にコピー&ペーストするより、練習および理解のためにも、手打ちすることをお勧めします。
引用:
なお、以下の方法も試してみようとしたのですが、青字のところに「シンタックスエラーがある」というダイアログが出てしまって、うまく行きません。私が判断出来うる限りではおかしいところがあるようにも見えないのですが


----------------
 

ひろゆき
Åê¹ÆNo.18991
投稿日時: 2005-7-22 12:47
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: "noScale"と"exactFit"の共用
引用:
なお、以下の方法も試してみようとしたのですが、青字のところに「シンタックスエラーがある」というダイアログが出てしまって、うまく行きません。私が判断出来うる限りではおかしいところがあるようにも見えないのですが

野中さんがおっしゃっているように、
インデントでなく、全角スペースにしていました。
失礼しました。

Stage.scaleMode = "noScale";
Stage.align = "TL";
function setPosition() {
    _root.mc._x = Stage.width-15;
    _root.mc._y = 0;
    _root.background._width = Stage.width;
    _root.background._height = Stage.height;
}
setPosition();
ls = new Object();
ls.onResize = setPosition;
Stage.addListener( ls );

#Safariだと、インデントの部分の表示が崩れることがあるんですよね。


----------------
質問する際は、回答者に具体的な情報を与えてください。

野中文雄
Åê¹ÆNo.18993
投稿日時: 2005-7-22 12:59
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: スクリプトのインデント(was: "noScale"と"exactFit"の共用)
私はエディタで、タブを半角スペース4つに置換しています。
引用:
ひろゆきさんは書きました:
#Safariだと、インデントの部分の表示が崩れることがあるんですよね。


----------------
 

ひろゆき
Åê¹ÆNo.18994
投稿日時: 2005-7-22 13:06
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: スクリプトのインデント(was: "noScale"と"exactFit"の共用)
引用:
私はエディタで、タブを半角スペース4つに置換しています。

やっぱり、それしかないですか。

うちのXOOPSサイトでは、[code]内のインデント・タブを半角スペースに
自動変換するように変えちゃちゃってるんですけどね。


----------------
質問する際は、回答者に具体的な情報を与えてください。

faby
Åê¹ÆNo.19004
投稿日時: 2005-7-22 18:03
新米
居住地:
投稿: 9
使用環境:
10.4.7
pro7.2
Re: "noScale"と"exactFit"の共用
野中さんの仰るようにコピー&ペーストではなく、手打ちでひろゆきさんの以下の記述を書き込みましたら、希望する形(野中さんが No.18986 でサンプルとして挙げられているような)の通りになりました。
まずはお二人に大変感謝!です。

引用:
ひろゆきさんは書きました:
引用:
なお、以下の方法も試してみようとしたのですが、青字のところに「シンタックスエラーがある」というダイアログが出てしまって、うまく行きません。私が判断出来うる限りではおかしいところがあるようにも見えないのですが

野中さんがおっしゃっているように、
インデントでなく、全角スペースにしていました。
失礼しました。

Stage.scaleMode = "noScale";
Stage.align = "TL";
function setPosition() {
    _root.mc._x = Stage.width-15;
    _root.mc._y = 0;
    _root.background._width = Stage.width;
    _root.background._height = Stage.height;
}
setPosition();
ls = new Object();
ls.onResize = setPosition;
Stage.addListener( ls );

#Safariだと、インデントの部分の表示が崩れることがあるんですよね。



なお、野中さんにご指摘受けました「Stage.onResizeリスナーイベント」についてですが、非公式テクニカルノートのページ説明で設定方法までは理解しましたが、それを応用(特に「function」を使うところ)できるまでの理解には正直なところ至っていません。
そのため「Stage.addListener( ls );」の「ls」というのが、任意のインスタンス名なのか特定の記号なのかということがわかりませんでした
ひろゆき
Åê¹ÆNo.19005
投稿日時: 2005-7-22 18:15
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: "noScale"と"exactFit"の共用
引用:
そのため「Stage.addListener( ls );」の「ls」というのが、任意のインスタンス名なのか特定の記号なのかということがわかりませんでした

であれば、試してみてはいかがですか?
myListener = new Object();
myListener.onResize = setPosition;
Stage.addListener(myListener);
とか。
hogeHoga = new Object();
hogeHoga.onResize = setPosition;
Stage.addListener(hogeHoga);
とか。


----------------
質問する際は、回答者に具体的な情報を与えてください。

« 1 (2) 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops