0

これは長い間私を悩ませてきました。

ステージのサイズ変更を使用する場合、次のように言えます。

public class Preload extends MovieClip
{
     protected var main:Main;

     public function preloader()
     {

          this.main = new Main();
          this.addChild(this.main);

          stage.addEventListener(Event.RESIZE, this.onResize);
     }

     protected function onResize(e:Event): void
     {
          this.main.x = stage.stageWidth>>1;
          this.main.y = stage.stageHeight>>1;
     }

}

Main もサイズ変更する必要がある場合はどうなりますか? サイズ変更イベントに応答するシステムが多数ありますが、ステージ Event.RESIZE リスナーをすべての画面に単純に追加する必要があるのか​​、それとも単一の場所から制御する必要があるのか​​ わかりません。

たとえば、上記の onResize リスナーに this.main.resize() を追加してから、画面に IResizable インターフェイスを実装しますか?

ベストプラクティスとは?

編集: または、invalidate() のような、より一般的なものの一部としてサイズ変更する必要があります

4

1 に答える 1

1

パフォーマンスのためにEvent.RESIZEは、ドキュメント クラスにリスナーを 1 つだけ持つことをお勧めします。次に、関数を使用してすべてのサブクラスと子にイベントを伝達します。Robert Penner による素晴らしいSignals フレームワークを使用すると、さらに効果的です。

ドキュメント クラスをスケーリングする必要がある場合、最も簡単な方法は、すべてのコンテンツを の中に入れてSprite、代わりにスケーリングすることです。

于 2013-07-03T18:18:45.803 に答える