Actionscript 3 Flash如何计算DisplayObject';s维度基于孩子?

Actionscript 3 Flash如何计算DisplayObject';s维度基于孩子?,actionscript-3,flash,Actionscript 3,Flash,我有一个名为Container的类,它扩展了Sprite,并添加了手动设置宽度和高度的功能,scaleX和scaleY始终保持为1 我将这样一个类放入了一个sprite中,并注意到sprite通过内部计算来测量自身,而不是从getter中实际获得宽度/高度 这个数学是什么?我如何扩展它来强迫精灵在做内部度量时考虑我的扩展宽度和高度吸收器? < P>数学在 GeEngEngor()中。函数,该函数为所有子级及其自己的图形调用,以确定整个精灵显示列表边缘的坐标。这就是为什么在没有缩放的情况下设置宽度

我有一个名为Container的类,它扩展了Sprite,并添加了手动设置宽度和高度的功能,scaleX和scaleY始终保持为1

我将这样一个类放入了一个sprite中,并注意到sprite通过内部计算来测量自身,而不是从getter中实际获得宽度/高度


这个数学是什么?我如何扩展它来强迫精灵在做内部度量时考虑我的扩展宽度和高度吸收器?

< P>数学在<代码> GeEngEngor()中。函数,该函数为所有子级及其自己的图形调用,以确定整个精灵显示列表边缘的坐标。这就是为什么在没有缩放的情况下设置宽度可能没有用处。但是如果您仍然希望这样做,首先创建包含设置宽度和高度信息的字段,您将在
container.width
container.height
赋值中更新这些信息,然后还覆盖宽度和高度的getter,返回存储宽度/高度的最大值和调用
super.width
super.height

var storedWidth:Number=0; // to not have NaNs
public override function get width():Number {
    var w:Number=super.width; // get width from that math
    if (storedWidth>w) w=storedWidth; // or any other logic, to operate these values
    return w;
}

高度也一样

我确实使用NaN作为storedWidth的占位符。如果storedWidth为NaN,则使用super.width,否则使用storedWidth,即使其小于super.width。我将对getBoundary()进行一些研究。非常感谢。