- ベストアンサー
ウインドウリサイズイベントをネット上で反映する方法
- AS3を使用してフルFlashサイトを制作している場合、ブラウザのウインドウサイズの変更があっても常にフル画面表示されるようにする方法について教えてください。
- addEventListener(Event.RESIZE, windowResize);はFlashPlayerのウインドウリサイズイベントであり、ブラウザのウインドウリサイズイベントではありません。ネットにアップした場合は、JavaScriptを使用してウインドウサイズを取得し、フラッシュのSWFをリサイズする必要があります。
- AS3だけでもウインドウリサイズイベントを処理する方法があるかどうかわかりません。詳しい方がいらっしゃれば教えていただきたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> addEventListener(Event.RESIZE, windowResize);は > 「FlashPlayer」のウインドウリサイズイベントであって > 「ブラウザ」のウインドウリサイズイベントではないということでしょうか? そうですよ。 addEventListener(Event.RESIZE, windowResize); では対象物が省略されていますが, おそらくメインのタイムラインまたはドキュメントクラスに書いたものでしょうから もし対象物を省略しなければ this.addEventListener(Event.RESIZE, windowResize); で,この this とは MainTimeline のことです。 MainTimeline とは簡単には ステージ と思えば良いと思います。 // ステージがリサイズされたときに関数 windowResize を実行 addEventListener(Event.RESIZE, windowResize); というような意味です。 HTML に SWF をパーセント寸法で貼り付けると, ブラウザの拡大縮小によってステージも拡大縮小するでしょう? そのときに有効になります。 例えば HTML に SWF を width="550" height="400" で貼り付けた場合, 横550px,高さ400pxのまま拡大も縮小もされませんから, addEventListener(Event.RESIZE, windowResize); など無意味になります。 例えば HTML に SWF を width="100%" height="100%" で貼り付けた上で, その SWF を固定的な何か(テーブルなど)で囲まなければ, ブラウザをリサイズしたときに SWF も拡大縮小されますから, addEventListener(Event.RESIZE, windowResize); が有効になります。 (別に 100% でなくてもパーセントであれば何%でも良いです。 また,片方は px で 片方は % でも良いです。 その場合 % の方のみのリサイズに反応します。)
お礼
とっても分かりやすいご説明、ありがとうございます! ウインドウを立ち上げた初期に、 そのサイズでFULLサイズのFLASHにしたかったので おかげさまでやりかたがわかりました! ほんとうにありがとうございました!