ここから本文です

ActionScript2.0で、起動時のウィンドウサイズを制御できますか。

xxw********さん

2019/6/1920:02:56

ActionScript2.0で、起動時のウィンドウサイズを制御できますか。

例えば、H2000px,W2000pxのステージで書き出したSWFを、スタンドアローンのFlashPlayerで開いたときにH1000px,W1000px(50%表示)とか設定できるものでしょうか?
もしできるのならば、ActionScript2.0での書き方を教えていただきたいです。。
このご時世にActionScript2.0って思われるでしょうけど必要で。

閲覧数:
7
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

glo********さん

2019/6/2018:08:24

ActionScriptのバージョンしか明記されていませんが
以下の内容は ActionScript2.0 までしか使えなかった
「Flash 8」を使用されているものとして書きます。

ActionScript3.0 になると
「SWFメタデータタグ」というものが使えて
例:[SWF(width="1000", height="1000", backgroundColor="0xFFCC00", frameRate="24")]
そのスクリプトのようなもの(タグ)で
SWF のステージサイズを変更できますが。。。

しかし,
ActionScript2.0 ではそれは使えないので
とりあえず
「修正」→「ドキュメント」より
「ドキュメントプロパティ」のパネルを出して
そのパネルの設定で

    サイズ(I): [1000 px](幅)   x   [1000 px](高さ)

に設定しなおして,
さらに
メインの画面(シーン 1) の最初のフレームに
次のように書くことでしょうかね↓。


//ステージを左上(上左)を基準に整列
Stage.align = "TL";
//_root の縦横サイズを 50% にする
_root._xscale = _root._yscale = 50;


そしてパブリッシュです。



===【別法】==============

「SWF のバイナリを編集する」という方法も無きにしも非ずです。
※ あくまでも【別法】であってあまりお薦めはできません。

ステージのサイズ "以外" の条件を全く同じにした
「2000×2000 px」の SWF と「1000×1000 px」の
FLA ファイル2つを用意して,
両方とも
「ファイル」→「パブリッシュ」設定で
「パブリッシュ設定」のパネルを出し
「Flash」タブより
「✔ムービーの圧縮」のチェックを外して
「□ムービーの圧縮」状態にし,
それぞれ違う名前の非圧縮 SWF をパブリッシュします。

すると
ステージのサイズ だけが違った SWF ファイルがパブリッシュされると思います。


そして次のページなどを参考に
パブリッシュされた SWF のバイナリを編集して行きます。

「SWF のヘッダ情報を読み解く - tanablog」
http://tanabe.hatenablog.com/entry/%3Fp%3D1359

ステージサイズ 2000×2000px でパブリッシュした SWF ファイルを
バイナリエディタでこじ開けると
9バイト目~18バイト目 が
88 00 01 38 80 00 00 4E 20 00 になっていると思います。

一方ステージサイズ 1000×1000px でパブリッシュした SWF ファイルを
バイナリエディタでこじ開けると
9バイト目~17バイト目 が
80 00 02 71 00 00 02 71 00 になっていると思います。

2000×2000px の方の
88 00 01 38 80 00 00 4E 20 00 を
80 00 02 71 00 00 02 71 00 に書き換えます。
(つまり1バイト減ります。)

※参考【添付図】↓

そうして念のため別名の SWF として保存すると
ステージサイズが 1000×1000px の SWF になっていると思います。

ただこれだけでは
ステージのサイズしかかわらないので
どっちにしても最初に書いた

//ステージを左上(上左)を基準に整列
Stage.align = "TL";
//_root の縦横サイズを 50% にする
_root._xscale = _root._yscale = 50;

という2行は要ると思います。



===【まとめ】================


最初に書いた方法にしても,【別法】にしても,
結局ステージの大きさは ActionScript2.0 以下では変えられないということです。

ただし,
表示物の大きさは ActionScript2.0 でも変えられるので
ステージの大きさは手動で変更して
スクリプトで中身の表示サイズを変えてはいかがでしょうか?

という回答内容です。

ActionScriptのバージョンしか明記されていませんが
以下の内容は ActionScript2.0...

質問した人からのコメント

2019/6/20 21:34:53

ありがとうございます!
いけました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる