6

Actionscriptまたは他の方法を使用してFlashプロジェクト全体のサイズを変更する方法はありますか?

1024x768のFlashCS3アプリケーションを作成しましたが、仕様を詳しく調べてみると、800x600である必要があることがわかりました。すべてを手動で小さくするのではなく、誰かが外側の端をドラッグしているかのようにウィンドウのサイズを変更したいと思います。または、1024x768と800x600を切り替えることができるボタンを追加することもできます。これは可能ですか?

私はこのようなものを意味します:

stage.stageWidth = 800;
stage.stageHeight = 600;
4

4 に答える 4

4

はい、ドキュメントにもかかわらず、stageWidthとstageHeightは読み取り専用です。ただし、SWFがWebページに埋め込まれている場合、その要素の幅と高さを変更するとステージサイズが変更され、scaleModeによってその処理方法が決まります。私のEnjoy3DWebサイトのすべてのSWFは、ウィンドウのサイズ変更時にこれを実行します...

于 2009-03-08T21:47:47.720 に答える
1

必要に応じて、SWF の HTML ラッパーを編集し、新しいサイズかどうかを確認することもできます。縮小したくない場合でも、すべてを縮小することをお勧めします。

本当にフラッシュで行う必要がある場合は、flash.external パッケージの ExternalInterface クラスを使用して、HTML で JavaScript 関数を呼び出します。swf が div 内にあり、div の高さと幅の 100% に設定されていることを確認してください。これで、Actionscript を介して JavaScript で div のサイズを変更するだけです。

stage.scaleMode が希望どおりに設定されていることを確認してください。

乾杯

于 2009-03-10T17:00:37.753 に答える
0

Actionscriptからステージの幅と高さを変更することはできません。これらのプロパティは読み取り専用です。

swfをコンパイルする前に、ステージプロパティのサイズ(ここではFlashを使用していると仮定します)を800 x 600に設定できませんか?

于 2009-03-08T21:34:23.820 に答える
0
  1. xxx-app.xml ファイルで幅と高さのプロパティを設定できます
  2. 動的に実行する場合は、FlexGlobals.topLevelApplication.width および height プロパティ、または非推奨の Application.application.width および height プロパティを使用できます。
  3. または、FlexGlobals や Application を実行できない純粋な ActionScript プロジェクトがある場合は、メインの actionscript ファイル (スプライト) から次を実行できます (これを実行する前にステージを初期化する必要があることに注意してください)。

    width = WIDTH;
    height = HEIGHT;
    stage.stageWidth = WIDTH;
    stage.stageHeight = HEIGHT;
    stage.nativeWindow.width = WIDTH;
    stage.nativeWindow.height = HEIGHT;
    
于 2013-02-06T06:33:42.453 に答える