Colin Moock ハックを使用してみてください: http://www.moock.org/blog/archives/000292.html
public class SomeMaskedControl extends UIMovieClip
{
protected var mc:MaskedMC;
public function SomeMaskedControl()
{
super();
mc = new MaskedMC();
addChild(mc);
}
public function getVisibleHeight (o:DisplayObject):Number {
var bitmapDataSize:int = 2000;
var bounds:Rectangle;
var bitmapData:BitmapData = new BitmapData(bitmapDataSize, bitmapDataSize, true, 0);
bitmapData.draw(o);
bounds = bitmapData.getColorBoundsRect( 0xFF000000, 0x00000000, false );
bitmapData.dispose();
return bounds.y + bounds.height;
}
override public function get height():Number
{
return getVisibleHeight( mc );
}
}
しかし、私はこの方法が好きではありません。マスクを MovieClip として作成し、インスタンス名を設定できる場合、アプリケーションで mask.height を取得し、UIMovieClip の高さを置き換えることができます。
public class SomeMaskedControl extends UIMovieClip
{
protected var mc:MaskedMC;
public function SomeMaskedControl()
{
super();
mc = new MaskedMC();
addChild(mc);
}
override public function get height():Number
{
return mc.maskMC.height;
}
}