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 侦听器,或者是否应该从一个位置进行控制。

例如,将 this.main.resize() 添加到上面的 onResize 侦听器,然后在我的屏幕上实现一个 IResizable 接口,例如?

什么是最佳实践?

编辑:或者应该调整大小是更通用的东西的一部分,比如 invalidate()

4

1 回答 1

1

Event.RESIZE为了提高性能,文档类中最好只有 1 个侦听器。然后通过函数将事件传播到您的所有子类和子类,或者使用Robert Penner的精彩Signals 框架甚至更好。

如果您需要缩放文档类,最简单的方法是将所有内容放入 aSprite中并对其进行缩放。

于 2013-07-03T18:18:45.803 回答