0

是否有可能使任何子 DisplayObject 相对于它的父对象具有例如 100% 的宽度,就像在 HTML 中一样?

例如,在舞台调整大小时自动调整大小。

避免手动重绘所有 ui。

4

2 回答 2

1

如果您希望在整个舞台上完成此操作,请使用
stage.scaleMode=StageScaleMode.EXACT_FIT;
此处的 exactFit 文档
或使用 Flex

于 2013-03-09T12:50:37.030 回答
0

我通常处理这个问题的方式是我有一个扩展的自定义类,它在舞台上Sprite监听Event.RESIZE,然后在每个类中覆盖该函数,因为通常我没有一个单一的解决方案来说明我希望显示对象如何在调整大小时起作用。您可以修改它以用于您的目的。

public class ResizeableSprite extends Sprite {

    public function ResizeableSprite()
    {
        addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
        addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage, false, 0, true);
    }

    protected function onResize(eventObject:Event):void {
        // override
    }

    protected function onAddedToStage(eventObject:Event):void {
        root.stage.addEventListener(Event.RESIZE, onResize, false, 0, true);
    }

    protected function onRemovedFromStage(eventObject:Event):void {
        root.stage.removeEventListener(Event.RESIZE, onResize);
    }

    public function destroy():void {            
        removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
        removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
    }
}
于 2013-03-09T01:58:46.273 回答