お世話になっております。
ブラウザの表示サイズ(高さ、幅)を変更した場合に、Flash内の特定のムービークリップの大きさ、表示位置を変更させるにはどのようにしたらいいのでしょうか?
ちょうど下記のようなイメージです。
http://fotologue.jp/fatman#/821175/1506979
中央の写真は常に中央表示されて、ブラウザの表示サイズを変更すると写真のサイズもそれにともない変更されると思います。
下に表示されるメニューも大きさが変わり表示位置が変わると思います。
下記の応用(?)の様な気もするのですがわからなくて・・・。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1838609
以上、ご教授の程宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
最近,
同じ系統のご質問が多いですが,コレ系が最近流行なのでしょうか…?
ふとつぶやいてみただけの素朴な疑問です。
- - - - - - - - - - - -
ご質問で書かれている URL までたどり着かれているのでしたら,
Flash (ActionScript)が難しいのではなく,
数学(どちらかというと算数)の部分が難しいのだと思います。
そういう場合は,
Flash から一度目を離して,
机上の紙に落書きをすればだいたいは解決すると思います。
机上の紙の落書き例↓
////////////////////////////////////////////////////////////////////////
x=0 x=Stage.width
y=0 y=0
□□□□□□□□□□□□□□□□□□■■+
□+■■□□□□□□□□□□□□□□■B ■
□■A ■□□□□□□□□□□□□□□■■■
□■■■□□□□□□□□□□□□□□□□□
□□□□□□■■■■■■■■■□□□□□□
□□□□□□■■■■M■■■■□□□■■■
□□□□□□■■■■+■■■■□□□■C +
□□□□□□■■■■■■■■■□□□■■■
□□□□□□■■■■■■■■■□□□□□□
□□□□□□□□□□□□□□□□□□□□□
■■■■■■■■■■■■■□□□■■■■■
■■■■■■D ■■■■■■□□□■■E ■■
+■■■■■■■■■■■■□□□■■■■+
x=0 x=Stage.width
y=Stage.height y=Stage.height
////////////////////////////////////////////////////////////////////////
※ A~E と M は MC(ムービークリップ) です。
※ A~E と M の +印は各MCの基準点です。
MC の基準点は絵などを MC に変換するときに
「シンボルに変換」ダイアログで決めることもできますし,
また,変換後に移動することもできます。
「インスタンスの基準点」
http://homepage3.nifty.com/ginga-b/MX/inst_refpo …
※ x=○○ や y=○○ はステージのコーナーの座標のメモ書きです。
ムービークリップA~E はそんなに難しくありませんが,
問題は真ん中の ムービークリップM ですね。
ムービー自体は1フレームだけしかない場合について回答します。
まず,
ムービークリップA~E と M のインスタンス名を
それぞれ mcA,mcB,mcC,mcD,mcE,mcM としておきます。
そして,
mcA~mcM のあるレイヤーとは別に新規でレイヤーを作って,
そのレイヤーをスクリプト専用レイヤーと決めておきます。
そしてそのスクリプト専用レイヤーフレーム1の
空白キーフレームにスクリプトを書きます。
その状態で書くスクリプトは次の---内のようになると思います。
上のように mcA ~ mcM を用意した場合,
---内をコピペするだけで使えると思います。
------------------------------------------
// ムービーの拡大・縮小をなしにする
Stage.scaleMode = "noScale";
// ムービーを左上を基準に固定する
Stage.align = "TL";
//
// mcM のステージに対する大きさを指定(※可変)
var mcM_size = 60/100;
//
// 変数 mcM_ratio に mcM の 縦/横 の比を算出
var mcM_ratio = _root.mcM._height/_root.mcM._width;
//
//
// 各ムービークリップの座標や大きさを指定するユーザ定義関数
// designCoordinatesの定義
function designCoordinates() {
//
// 各ムービークリップの座標を指定
_root.mcA._x = 10;
_root.mcA._y = 10;
_root.mcB._x = Stage.width;
_root.mcB._y = 0;
_root.mcC._x = Stage.width;
_root.mcC._y = Stage.height/2;
_root.mcD._x = 0;
_root.mcD._y = Stage.height;
_root.mcE._x = Stage.width;
_root.mcE._y = Stage.height;
_root.mcM._x = Stage.width/2;
_root.mcM._y = Stage.height/2;
//
// --- mcM の大きさに関するスクリプト ---
// もしステージの形が mcM の形より縦長であれば
if (Stage.height/Stage.width>=mcM_ratio) {
// mcM の大きさをステージの幅との比で決定
_root.mcM._width = Stage.width*mcM_size;
_root.mcM._height = Stage.width*mcM_size*mcM_ratio;
// もしステージの形が mcM の形より横長であれば
} else {
// mcM の大きさをステージの高さとの比で決定
_root.mcM._width = Stage.height*mcM_size/mcM_ratio;
_root.mcM._height = Stage.height*mcM_size;
}
}
//
//
// ユーザ定義関数 designCoordinates の実行(初回)
designCoordinates();
//
// ---ステージの大きさの変動に対するスクリプト---
// リスナーオブジェクトの作成
myListener = new Object();
//
// リスナーオブジェクト.onResize 関数の定義
myListener.onResize = function() {
// ユーザ定義関数 designCoordinates の実行
designCoordinates();
};
//
// myListener を Stage.addListener に登録
Stage.addListener(myListener);
------------------------------------------
// mcM のステージに対する大きさを指定(※可変)
var mcM_size = 60/100;
の 60/100 (60%の意味)は適当に変えてください。
参考に書かれている,
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1838609
は,漠然としたものの回答であるため,
Stage.align = "TL"; は書いていませんが,
上のスクリプトの最初の2行,
// ムービーの拡大・縮小をなしにする
Stage.scaleMode = "noScale";
// ムービーを左上を基準に固定する
Stage.align = "TL";
この部分と,最後の,
// ---ステージの大きさの変動に対するスクリプト---
// リスナーオブジェクトの作成
myListener = new Object();
…省略…
この部分は ActionScript 特有の呪文のようなお決まり文句と考えると,
その間はほとんど数学(どちらかというと算数)です。
ご質問されている物の場合,
ActionScript特有のお決まり文句の部分の存在を知るまでが大変で,
その部分だけが ActionScript のようなものと考える方が良いと思います。
あとは紙などに落書きして考えると良いです。
私自身も,
「QNo.2406468 flashの書籍について」
http://oshiete1.goo.ne.jp/qa2406468.html
↑教えて!goo ↓OKWave (同じです)
http://okwave.jp/qa2406468.html
ここの#1で同様のスクリプトを書いていますが,
上と下の呪文部分は全く変えていません。
function 内のみを変えただけです。
他の場合でも,
変えるとすれば実行する function名 くらいだと思います。
その他,
インスタンス名 mcF というMCを作ったとして,
その mcF の位置を中途半端な場所で浮かせたい場合は,
mcF の基準点を中央にして,
function designCoordinates() {
// 各ムービークリップの座標を指定
… 略 …
_root.mcF._x = Stage.width*3/10;
_root.mcF._y = Stage.height*7/10;
… 略 …
}
のようにすると,
その mcF はステージの左下の方に浮いたような状態になります。
また,
ウィンドウを小さくすると,MCどうしが重なりますが,
その上下関係は mcA ~ mcM を置くレイヤーによって決めてください。
-・-・-・- その他補足 -・-・-・-・-・-・-・-・-・-・-・-・-・-・-
パブリッシュするときは,
「パブリッシュ設定」で,「HTML」タブを選択し,
「サイズ」を「パーセント」にして,
幅×高さ を [100] × [100] パーセント
などのようにパーセントで指定してパブリッシュしてください。
あと,
Flash ではなく,HTML の話になりますが,
100×100 でパブリッシュしても,
ブラウザでその HTML を見ると上と横に隙間(マージン)ができます。
その隙間を無くしたい場合は,HTML の BODYタグ,
<BODY bgcolor="#FFFFFF">
のようになっている部分を,
<BODY bgcolor="#FFFFFF" topmargin="0" leftmargin="0" rightmargin="0">
のように変えてください。
するとデフォルトの隙間は消えます。
sassakunさん
ご丁寧な回答ありがとうございます。
いつもFlashをつくる時は簡単なサンプルを作ってからやっていたのですが、机上で絵を書く事はやっていませんでした。
絵を書いて考えてみたのですが、また別な視点と頭の中が整理されて息詰まってる時ももすんなり解決しそうな気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- JavaScript ブラウザの横幅に応じてとある画像(e.jpg)を画面いっぱいに表示できるようにしたいです。(写真の横 1 2022/10/06 21:17
- PHP アンドロイドスマホでのphp echoの文字サイズ 1 2023/05/13 15:15
- モニター・ディスプレイ パソコンでスクリーンショットしたもの(HP)を印刷しました。 3 2022/07/03 16:39
- Illustrator(イラストレーター) ペイントでサイズを小さくする 5 2023/06/17 10:33
- WordPress(ワードプレス) ワードプレスの表示文字サイズの変更 1 2022/07/22 09:31
- Word(ワード) パソコンのソフト WordとExcelについて教えてください。 Excelで作った図形をWordにコ 1 2022/04/01 23:27
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- 待ち受け・壁紙 ロック画面に表示される時刻のサイズ変更 AQUOS SENSE 4 (ドコモ)を使用中です。スマホの 2 2022/08/08 10:39
- その他(動画サービス) VLCメディアプレーヤーについて 1 2022/11/29 14:19
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pythonの画像の貼り付けについて
-
四乗根を英語で言うと・・・
-
ボタンの上にマウスを置くと虫...
-
ホイールマウスで動かす
-
オブジェクトのランダムな位置表示
-
PythonでSetWindowPosを使うに...
-
パーセントで配置したフラッシ...
-
FLASHで20分のカウントダウンタ...
-
レーダーチャートの描画
-
VB.NET メッセージボックスの表...
-
ボタンをクリックするとフェー...
-
切り抜いた部分が動くアニメー...
-
チェックボックスのテキストを...
-
PNG24を読み込むと色合いが薄く...
-
[Start]を押すと始まるFlas...
-
テキストフォーマット・・・?
-
webページ上、TABフォーカス出...
-
ActionScript スクロールメニュー
-
Flash 暗号装置の作り方
-
画像ロールイン・ロールアウト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
else if文の順序を変えることに...
-
四乗根を英語で言うと・・・
-
Pythonのtkinterについて
-
pythonの画像の貼り付けについて
-
PYTHONのtkinterについて
-
SNMPの標準MIBについて
-
PythonでSetWindowPosを使うに...
-
スライドショーのフェードイン...
-
ADに参加していないPCからADサ...
-
FLASHで「かるた」を作りたいの...
-
レーダーチャートの描画
-
オブジェクトのランダムな位置表示
-
100点でクリアする簡単なモグラ...
-
Excel VBAで読み込んだテキスト...
-
pythonのグローバル変数
-
SharedObjectの動作がうまくい...
-
ボタンの上にマウスを置くと虫...
-
フラッシュで、画像一枚一枚に...
-
ムービープレビューでないと動...
おすすめ情報