SWFを実行した際の、
(1)ウィンドウ右上の最大化のボタンを押して最大化。
(2)右クリックで"100%"を選択する。
という二つを行ったのと同じ効果をスクリプトで行いたいのですが方法を教えてください。
最大化ボタンを押すと、ウィンドウは最大化されますがムービーも拡大してしまうので右クリックのメニューで"100%"を選択して、ウィンドウは最大のままでムービーだけを元に戻すということです。
なぜこうしたいのかというと、マウスが画面外にでるとムービークリップが操作できなくなってしまうので、ウィンドウを広げたいのです。
fscommand("fullscreen",true)と記述することで画面を最大化することはできましたが、右上の閉じるボタンが見えなくなってしまうので別の方法で、閉じるボタンは使えるようにしたまま、上記の2つをスクリプトで行う方法を教えてください。
お願いします。
No.2ベストアンサー
- 回答日時:
#1です。
#1の回答で根幹は済んでいるのですが補足です。
Stage.scaleMode = "noScale";
と
fscommand("fullscreen", true);
を書いた上で,
「×」ボタンを自作し,
その「×」ボタンに
on (release) {
fscommand("quit");
}
を書くという点についての勝手な補足です。
つまり#1を先に見ないと,
何のことかさっぱりわからないかもしれない回答です。
『「×」ボタンが右上に来ない』 と思われていらっしゃるかもしれないと思ったので,
その点などについて,もう少し詳細に書きます。
「×」ボタンの自作は適当でもかまいませんし,
次のURLのように↓,凝った物を偽造しても良いです。
「Windowsっぽいボタンを作る」
http://www.motegi.to/fsite/xp-win.html
(「NEXT」ボタンをクリック・クリック…です。)
絵の描き方自体は、
凝った物にするかどうかはお任せするとして,
ボタンはムービークリップに変換したものか,
ボタンシンボルに変換して良いですから,
変換するときの基準点を右上にしてください。
つまり,
「×」の絵を選択→「修正」→「シンボルに変換」で,
「シンボルに変換」ダイアログが出てきますから,
そこで,
//////////////////////////////////////////////
タイプ(T): ○ムービークリップ 基準点(R):□□■
○ボタン □□□
○グラフィック □□□
//////////////////////////////////////////////
のようにして,シンボルに変換してくださいということです。
こうすると計算式が簡単になります。
そしてそのボタンには,例えば,
「close_btn」というインスタンス名を付けてください。
そしてフレームには次のように書きます。
----------------------------------------------------------
// 拡大縮小なし
Stage.scaleMode = "noScale";
// 初期のステージのサイズを記録
var sw = Stage.width;
var sh = Stage.height;
// MovieClipインスタンス(_root)をリスナーに登録
Stage.addListener(this);
// ステージのサイズが変わったら実行
this.onResize = function() {
_root.close_btn._x = (Stage.width/2)+(sw/2)-10;
_root.close_btn._y = -(Stage.height/2)+(sh/2)+10;
};
// フルスクリーン表示
fscommand("fullscreen", true);
----------------------------------------------------------
これでそのボタン「close_btn」は,
右上の端から,左に 10px,下に 10px,の位置に表示されると思います。
この 10px はどこから来ているかと言うと,
_root.close_btn._x = (Stage.width/2)+(sw/2)-10;
_root.close_btn._y = -(Stage.height/2)+(sh/2)+10;
この最後の -10 や +10 です。
なぜ上のような式が出てくるのかと言うと,
ここでは図が描けないので説明しにくいのですが,
次のような図を紙に描いて落書きすると,わかると思います。
□□□□□□□□□□□□□□□× ↑
□□□□□□□□□□□□□□□□ │
□□□□□□□□□□□□□□□□ │
□□□□□□■■■■□□□□□□ ↑ 拡大後
□□□□□□■■■■□□□□□□ sh Stage
□□□□□□■■■■□□□□□□ ↓ .height
□□□□□□□□□□□□□□□□ │
□□□□□□□□□□□□□□□□ │
□□□□□□□□□□□□□□□□ ↓
──────|←sw→|──────
|←───拡大後Stage.width───→|
■■■ の部分が元のステージです。
□□□ の部分がフルスクリーンになったときのステージです。
Stage.scaleMode = "noScale";
を書いただけだと,元の状態であっても,フルスクリーンになっても,
_x や _y の座標は,元のステージの左上を基準として(0,0)になります。
(0,0)
↓
■■■■
■■■■
■■■■
しかだって,フルスクリーンになったときの,
ステージの右上の座標は,
x座標=(Stage.width/2)+(sw/2)
y座標=-(Stage.height/2)+(sh/2)
で求められます。
落書きして考えるとわかると思います。
もし(もしですよ),
「×」ボタンだけではダメで,「タイトルバー」も必要な場合は,
これも偽造すればいいですね。
ボタンよりは簡単に偽造できると思います。
そして,
バー全体をムービークリップにして(基準点を右上にして),
そして,「×」ボタンをその中に入れて,
バーに何かインスタンス名を付けて,
上のようなスクリプトを書くとバーも上に着きます。
さらにもし(さらにもしですよ),
タイトルバーに,
「f Macromedia Flash Player 8」
などのタイトルが左に欲しい場合は,
バーは左右にそれぞれ1つずつ,つまり2つ作ります。
「f Macromedia Flash Player 8」などが入った
左用バーのムービークリップ はステージの左上に,
「×」ボタンが入った
右用バーのムービークリップ はステージの右上に,
付けるようなスクリプトを書けばできます。
なお,
左用バーのムービークリップを作るときの基準点は,左上にすると計算式が簡単になります。
仮に,
左用バーのムービークリップのインスタンス名を「bar_l_mc」
右用バーのムービークリップのインスタンス名を「bar_r_mc」
としておくとすると,座標指定のスクリプトは次のようになります。
_root.bar_l_mc._x = -(Stage.width/2)+(sw/2);
_root.bar_l_mc._y = -(Stage.height/2)+(sh/2);
_root.bar_r_mc._x = (Stage.width/2)+(sw/2);
_root.bar_r_mc._y = -(Stage.height/2)+(sh/2);
さらにさらにもし(さらにさらにもしですよ),
Flash アイコンの 「f」 マークの偽造をしたい場合は,
Get Flash Prayer のページで,
http://www.adobe.com/go/getflashplayer
最新の Flash Player をインストールすると,
http://www.adobe.com/shockwave/download/triggerp …
で、巨大な 「f」 マークがグルグル回りますから,
この 「f」 マーク を見本すれば大きいので偽造しやすいです。
関係ないかもしれませんが,
もし,Flash での作画が苦手な方であれば,
「×」ボタンや「f」マークを偽造するだけで,
お絵描きのテクニックはかなり上がると思います。
その他,
onResize などに関しましては,
次のURLを参考にしてみてください↓。
「Stage.onResizeリスナーイベント」
http://www.fumiononaka.com/TechNotes/Flash/FN030 …
回答ありがとうございました。
細かく説明してくださったおかげで疑問点がすべて解決しました。
特にNo2の補足では複雑な手順を図で分かりやすく説明してくださったので初心者の私でも理解することができました。
タイトルバーや「f」マークの偽造などの手の込んだことにも挑戦して腕を磨きたいと思います。
ありがとうございました。
No.1
- 回答日時:
ご質問から考えて,
ネット上で Flash を見るのではありませんよね。
ローカルPCでSWFファイルをスタンドアローンのFlash Player で見るか,
プロジェクタファイル(EXEなど)にパブリッシュしたものを見るということですね。
> (2)右クリックで"100%"を選択する。
これに関しては,ActionScript で可能です。
フレーム1 の最初のスクリプトに
Stage.scaleMode = "noScale";
と書いておけば良いです。
> (1)ウィンドウ右上の最大化のボタンを押して最大化。
こちらは無理な気がします。
他の物を併用すればできないこともないですが↓。
「表示に関する情報について」の
「フルスクリーンで表示する」
http://hakuhin.hp.infoseek.co.jp/main/as/stage.h …
これ,一応フルスクリーンですが,
Windows XP SP2 あたりからは,「×」ボタンが消えないと思います。
しかし...,
> 右上の閉じるボタンが見えなくなってしまうので別の方法で、
> 閉じるボタンは使えるようにしたまま、
fscommand("fullscreen",true)
は使用したまま,
閉じるボタンを自作しても良いと思いますよ。
「×」ボタンでも自作して
-------------------------------
on (release) {
fscommand("quit");
}
-------------------------------
です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 拡大鏡の音声読み上げ機能が機能しません 2 2023/02/23 22:34
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- メルカリ メルカリに関しての質問です。 登録したお支払い用銀行口座を削除したいのですが、できません。 「支払い 1 2022/11/22 10:25
- オンラインゲーム pc版fall guysでプロコンが反応しなくなりました。windowsです。プロコンをusb接続す 1 2023/02/14 17:33
- その他(ソフトウェア) Figma 1 2023/06/23 14:22
- Safari(サファリ) インターネットの画面を左右に寄せて閲覧する方法を教えてください 1 2022/05/18 21:03
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Excel(エクセル) マクロを教えてください 3 2023/07/31 21:57
- Excel(エクセル) マクロを教えてください 2 2023/07/30 23:05
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンをクリックするとフェー...
-
[Start]を押すと始まるFlas...
-
メニューボタンを押されたまま...
-
記述の無いアクションが動く??
-
移動位置が狂ってしまう
-
即自動計算のスクリプト
-
アセンブリ言語のcasl2について...
-
テキストボックスの中身をリセ...
-
VBScriptでMsgBoxのYesNoボック...
-
photoshopで書いた四角の枠の中...
-
Motifのイベントの制御について...
-
別のアプリケーションのテキス...
-
テキストが変更されたとき
-
VB.NET2005 DataGridViewでレコ...
-
python ボタンを押すと複数の関...
-
【VB.NET】別Formのボタンが押...
-
pythonの画像の貼り付けについて
-
ウインドウハンドルとインスタ...
-
テキストエリア内の文字列にリ...
-
Flashのテキストボックスの「単...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
arduino プログラムについて
-
マウスオーバーで色が薄くなる...
-
FLASHで画面の最大化と100%表示...
-
FlashからPHPへの変数の渡し方...
-
ボタンと連動したフェードイン...
-
縦のメニューバー作成方法で困...
-
[Start]を押すと始まるFlas...
-
×ボタンを無効化したいのですが...
-
虫眼鏡拡大ムービーの中にボタ...
-
attachMovie後のプロパティ参照
-
ムービークリップの中のボタン...
-
ボタンのカウント数でムービー...
-
2つのムービークリップをスク...
-
ボタンの深度で
-
ボタンをクリックするとフェー...
-
メニューの単語が落ちてきてバ...
-
ムービークリップの中にボタン...
-
メニューボタンを押されたまま...
-
ボタンアクション flash アク...
-
記述の無いアクションが動く??
おすすめ情報