説明する内容に組み込みのオプションはありませんが、Flash内またはJavaScript側のいずれかからスクリプトを使用して簡単に実現できます。答えの最後に、実行を開始するためのコードスニペットを配置します。
ただし、最初に、代わりにおそらく何をすべきかを提案させてください。(モニターのサイズに関係なく)ブラウザーがフルスクリーンになっていないユーザーが来たときに何が起こるかを考えてみてください。説明どおりに実装すると、ブラウザのサイズに応じて、サイトが任意の小さいサイズで表示され、判読できない、または使用できないほど小さいものが表示される可能性があります。
確かに、Flashがスケーリングを停止する最小サイズをさらに実装することでこれに対処できますが、その後、ユーザーがサイトをどのように見たいかについて多くの二次的な推測を始めます。代わりに、小さなモニター(または小さなブラウザーウィンドウ)を使用しているユーザーは、サイトに何を期待するでしょうか。その答えは、サイトをフルサイズで表示し、スクロールバーを追加することです。そして私のお金のために、それはあなたのサイトがすべきことです。
したがって、HTML(またはFlashのHTMLエクスポート設定)で、SWFを1000x750コンテナに埋め込みます。これにより、SWFがだれに対してもスケーリングされなくなります。モニターでは、スケーリングされていないサイトがウィンドウ内で中央に配置されている(または左上に配置されているなど)ことがわかります。小さいモニターでは、ブラウザーのスクロールバーを使用してサイト全体がスケーリングされていないことがわかります。 。
結局のところ、Flashコンテンツは本質的に拡大縮小しますが、ほとんどのWebサイトはテキストと画像で構成されており、そうではないことを理解する必要があります。実行時にスケールダウンすることはできますが、通常はユーザーが期待するものではなく、サイトの見栄えも良くなりません。
約束どおり、これがFlash AS3コードのスニペットであり、スケーリングで好きなことを実行するのに十分な有利なスタートを切ることができます。これにより、scalemodeが「noscale」に設定された状態で、ブラウザウィンドウ全体を占めるコンテナにFlashを公開した場合に、望ましい効果が得られるはずです。
// perform initial size check
checkStageSize();
// register to re-check when stage size changes
stage.addEventListener( Event.RESIZE, onResize, false, 0, true );
function onResize( e:Event ) {
checkStageSize();
}
// do the scaling here
function checkStageSize():void {
var wid:Number = stage.stageWidth;
var hi:Number = stage.stageHeight;
var needToScaleDown:Boolean = (wid < 550); // or some other test
if ( needToScaleDown ) {
var scale:Number = wid/550;
someContent.scaleX = someContent.scaleY = scale;
} else {
someContent.scaleX = someContent.scaleY = 1;
}
}
これは、「someContent」が、ステージの原点(左上隅)に登録ポイントがある、スケーリングするすべてのものを保持するコンテナを指すと想定しています。ムービー全体を自動的にスケーリングする簡単な方法はないため、コンテンツをコンテナムービークリップに配置し、代わりにスケーリングすることをお勧めします。
上記のスニペットをステージ上のフレームアクションに自由に配置し、「someContent」を変更して、スケーリングできるコンテナを参照し、それを試してみてください。しかし、実際には、スケーリングされていないサイトを表示する方が使いやすいと判断することになると思います。