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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hidenoki
Åê¹ÆNo.3667
投稿日時: 2004-2-10 17:22
新米
居住地: 群馬県
投稿: 15
使用環境:
Windows2000
FlashMX-Version6.0
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
Fumioさん、ありがとうございます。
頑張ってthisを理解してみます。
また宜しくお願い致します。
野中文雄
Åê¹ÆNo.3661
投稿日時: 2004-2-10 15:55
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
別に難しいことではなく、コールバック関数内で操作の対象となるインスタンスのパスを気にしなくてよいということです。つまり、インスタンスのパスやリスナーを設定するタイムラインがどのように変更されても、関数の記述は書替える必要がなくなります。もちろん、プロパティを設定するときに、その考慮がしてあるという前提です。
引用:
hidenokiさんは書きました:
でも、スクリプトの柔軟性が増すと言われても全然解りません。(T-T)

コールバック関数内でthisを使うか使わないかの違いは、[LoadVars.load(CGIFile)でcountdataが読み込めない]で触れました。

this参照の意味や内容については、詳しく調べると議論すべき点が少なくありません。私の本には、それらについて結構詳しく解説してあります。

参考: [MovieClipとthis]
[Buttonのthis]
引用:
thisが必要だったり不要だったりも解りません。(T-T)

ご参考までに、本題のMXのサンプルをアップしておきました。


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

hidenoki
Åê¹ÆNo.3656
投稿日時: 2004-2-10 13:43
新米
居住地: 群馬県
投稿: 15
使用環境:
Windows2000
FlashMX-Version6.0
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
Fumioさん、ありがとうございます。
プロパティを勝手に作れるって事ですね!
でも、スクリプトの柔軟性が増すと言われても全然解りません。(T-T)
thisが必要だったり不要だったりも解りません。(T-T)
もっともっと勉強します。ありがとうございました。m(__)m
野中文雄
Åê¹ÆNo.3652
投稿日時: 2004-2-10 12:45
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
nullの代入は、変数の初期化をされているのだと思います。けれど、変数宣言と同時に値を入力してもよいでしょう。
// var listenerObj = null; //←なぜヌルを代入するのですか?
// this.listenerObj = new Object();
var listenerObj = new Object();  // これでもOK

以下のステートメントは、ScrollPaneインスタンスmovieを、リスナーオブジェクトのプロパティresizablePaneとして設定しています(つまりresizablePaneは、任意のプロパティ名です)。これは、Stage.onResizeイベントハンドラメソッドのコールバック関数ChangePaneSize内で、ScrollPaneインスタンスを参照しやすいようにということでしょう。
this.listenerObj.resizablePane = this.movie;

コールバック関数を以下のように書替えると、上記のステートメントは省略可能です。
function ChangePaneSize()
{
       // [中略]
       // this.resizablePane.setSize(Bx, By); // コンテンツ表示サイズ
       movie.setSize(Bx, By);
}

ただ、プロパティに設定しておく方が、スクリプトの柔軟性が増します。
引用:
hidenokiさんは書きました:
の部分をまだ理解しないで使用しています。(T-T)
特に"resizablePane"は、HELPに載ってないので全く解りません。


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

hidenoki
Åê¹ÆNo.3651
投稿日時: 2004-2-10 11:48
新米
居住地: 群馬県
投稿: 15
使用環境:
Windows2000
FlashMX-Version6.0
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
pinkgearさん、完璧です。
私のやりたい事をずばっと解決してくれてます。
大変ありがとうございました。m(__)m

ただ、上記方法で出来たのですが、
引用:

pinkgearさんは書きました:
var listenerObj = null; //←なぜヌルを代入するのですか?
this.listenerObj.resizablePane = this.movie;

の部分をまだ理解しないで使用しています。(T-T)
特に"resizablePane"は、HELPに載ってないので全く解りません。
出来れば、意味を教えて下さい。

kasaiさん、rin-koさん、KENTAさん、SUZUDENさん、pinkgearさん、
ご協力ありがとうございました。これからも末永く宜しくお願い致します。
pinkgear
Åê¹ÆNo.3649
投稿日時: 2004-2-10 10:39
半人前
居住地:
投稿: 35
使用環境:
Mac OS X 10.4.2, Studio MX 2004 w Flash MX Pro
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
ムービーサイズは固定したくない、スクロールバーは画像に。
ちょっと手抜きのものを作ってみましたが、こんな感じの事でしょうか。
http://www.waiz.bz/test/index.html
これをやるにはリスナーオブジェクト(?)を使わなければいけません。
ちなみに、制作はFlash MX 2004です。Flash MX ver6 は持ってないので確認できませんが、ヘルプにはFlash Player 6 と明記されているので出来るかも(?)と思って返信投稿する事にしました。(^^;
コードは以下の様な感じです。


/*
ステージのフレームの長さは1フレーム
レイヤー1に、ScrollPane(名前はmovie)
レイヤー2に、以下のスクリプトを記述。
*/

Stage.scaleMode = "noScale";
Stage.align = "TL";

var listenerObj = null;
this.listenerObj = new Object();
this.listenerObj.resizablePane = this.movie;
this.listenerObj.onResize = this.ChangePaneSize;
Stage.addListener(this.listenerObj);

// ブラウザ横幅、ブラウザ高さ
// コンテンツ表示サイズ
this.movie.setSize(Stage.width - 40, Stage.height - 40 ); 

function ChangePaneSize()
{
	var Bw = Stage.width; // ブラウザ横幅
	var Bh = Stage.height; // ブラウザ高さ
	var Bx = Bw - 40;
	var By = Bh - 40;

	this.resizablePane.setSize(Bx, By); // コンテンツ表示サイズ
}



質問の内容と答えが違ってたら、流しちゃって下さい。(^^;
DEN
Åê¹ÆNo.3648
投稿日時: 2004-2-10 10:21
常連
居住地: 千葉県佐倉市
投稿: 84
使用環境:
Mac OS9.2,10.3
WinXP
FlashMX,Flash8
Player7,Player9
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
NTT DATAの
http://www.nttdata.co.jp/
HPではタブをクリックして
ウィンドウを全て表示してから
ブラウザーのウィンドウサイズを変えると
いろいろ変わります。


----------------
DEN

ゲスト
Åê¹ÆNo.3647
投稿日時: 2004-2-10 10:12
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
hidenokiさんのおっしゃりたいのはこういうことでしょうか?
http://www.nhk.or.jp/dig/monomania/
上記サイトはブラウザのサイズを広げても背景(?)のみが広がりますが、
全体がFlashで構成されています。
hidenoki
Åê¹ÆNo.3644
投稿日時: 2004-2-10 8:46
新米
居住地: 群馬県
投稿: 15
使用環境:
Windows2000
FlashMX-Version6.0
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
度々すみません。まだ私のやりたい事が伝わってない様で…
自分の文章力の無さに困っています。(T-T)

【ムービーサイズ(?)は固定したくない】
先にも書きましたが、ムービーサイズを固定するとブラウザのウィンドウサイズが小さい場合、ブラウザ自身にスクロールバーが表示されてしまいますよね?それが嫌なんです。
【スクロールバーは画像に】
あくまでも、スクロールバーが表示されていいのは、MC内の画像(Jpeg)内のみにしたいので、Scrollpaneを使用しています。

ここまで書いてきて思ったのですが、私のやりたい事は出来ないって事なんでしょうか?ここのフォーラムだけが頼りなんですが…出来ないのであれば、諦めますが…

何度も書いて申し訳無いのですが…
●ムービーをピクセル指定して固定してしまうとブラウザのウィンドウサイズがムービーサイズより小さい場合、ブラウザ自身にスクロールバーが表示されてしまいますよね?それが嫌なんです。
rin-ko
Åê¹ÆNo.3625
投稿日時: 2004-2-9 19:02
職人
居住地: 東京
投稿: 397
使用環境:
MacOSX10.5/10.4
WinXP SP3
MX2004Pro/CS3
Re: ブラウザの表示サイズによってMCの表示サイズ(?)を変えたい
hidenokiさん、はじめまして。

引用:
<OBJECT>タグ内、<EMBED>タグ内の両方でMCを90%と指定させてます。

ムービーサイズが変わる原因は、笠居さんが指摘なさっているように『HTMLのタグでムービーのサイズを%指定している』ためですね。
笠居さんの説明の繰り返しになりますけれど、その表示方法をとれば、ムービーサイズはブラウザのサイズに応じて拡大縮小し、同時にムービー内にある画像やボタンのサイズも拡大縮小されます。
%指定ではなく、ピクセル指定でムービーのサイズを指定することはできないのですか?
画像サイズは720w*540hとありますよね。ムービーのサイズもこのサイズで作られていると仮定すると、HTMLの<OBJECT>タグ内、<EMBED>タグ内でWIDTH=720 HEIGHT=540 とすればいいように思うのですけど。
Flashの「パブリッシュ設定:HTML」の「サイズ」の部分で「ムービーに合わせる」を選択(これはFlash5の仕様なので、MXでは違っていたらごめんなさい)すれば、ムービーサイズを指定したHTMLを書きだしてくれると思いますよ。

あと、引用方法その他については、FAQの利用ガイドを参考にされるとよいと思います。
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

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