流動的/流動的/レスポンシブなレイアウトは、何らかのレイアウト マネージャーを意味する可能性があります。
この機能は Flex に組み込まれています。
フラッシュごと、より具体的には、要件ごとに指摘したことは、基本的なスケーリングとポジショニングがあなたが望むものであるように思えます。
レイヤー
お気づきのように、レイヤーが異なれば、スケーリングごとに異なる要件があります。
- バックグラウンド
- ゲームプレイ
- インターフェイス/コントロール
背景とゲーム プレイは 1 つのレイヤーである場合があります。ただし、読みやすさと相互作用のために、フォアグラウンド ユーザー コントロールに異なる制約が必要な場合があります。
ステージのセットアップ
スケーリングを制御する場合は、次のように設定する必要があります。
import flash.display.StageAlign;
import flash.display.StageScaleMode;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
これは、縦向きと横向きの間でモバイル デバイスを交換する際の向きの変更にも役立ちます。
ブラウザはサイズ変更できます。そのため、サイズ変更イベントをリッスンする必要があります。
stage.addEventListener(Event.RESIZE, resizeHandler);
stage.dispatchEvent(new Event(Event.RESIZE));
function resizeHandler(event:Event=null):void
{
/* scale code ... */
}
ポジショニング
左上は 0x0 座標であるため、常に上下の位置合わせは簡単です。右と下ではDisplayObject
、ステージから幅を差し引く必要があります。
右揃えの例:
mc.x = stage.stageWidth - mc.width;
下揃えの例:
mc.y = stage.stageHeight - mc.height;
ステージの中央に何かを置く:
mc.x = (stage.stageWidth * 0.5) - (mc.width * 0.5);
mc.y = (stage.stageHeight * 0.5) - (mc.height * 0.5);
スケーリング
ステージ上の空白/空の領域を回避するための制約を決定する必要があります。
これは、比率変数を使用して実装できます。
var ratio:Number = 1.0;
比例スケーリング:
ratio = stage.stageWidth / gameMovieClip.width;
gameMovieClip.scaleX = ratio;
gameMovieClip.scaleY = ratio;
ステージに合わせて表示オブジェクトを引き伸ばす:
gameMovieClip.scaleX = stage.stageWidth / gameMovieClip.width;
gameMovieClip.scaleY = stage.stageHeight / gameMovieClip.height;
ベスト フィット アルゴリズムでは、表示オブジェクトの最小制約を境界内に合わせる必要があります。Greensock auto fit areaなど、これを支援できるライブラリがあります。

仮想カメラ
仮想カメラは、Flash で人気があります。コンセプトは、ビューを設計してから、カメラをパンおよびズームして特定の領域を表示することです。
ノンコーダー向けの O'Reilly ActionScript

仮想カメラ FLA の例:
仮想カメラの例:
たとえば、Google の「Flash 仮想カメラ」または「Flash v-cam」です。