我创建了一个自定义组件 - MyImage - 它有两个子节点,包括一个Bitmap和一个Sprite。
我的显示对象层次结构如下 -
mx:Canvas
view:MyImage
mx:Bitmap
my:Sprite
如果我更改了MyImage.scaleX,scaleY属性,则子项会按照我的预期进行缩放。
然而,当我尝试使用placeAgain()将孩子放在中心时获取调整大小事件:
public function placeAgain():void
{
if (image==null) return;
var pCanvas:Canvas = this.parent as Canvas;
if (image.width <= pCanvas.width)
{
pCanvas.horizontalScrollPolicy="off";
image.x = (pCanvas.width -image.width)/2;
}
else
{
pCanvas.horizontalScrollPolicy="on";
image.x=0;
}
if (image.height <= pCanvas.height)
{
pCanvas.verticalScrollPolicy="off";
image.y = (pCanvas.height -image.height)/2;
}
else
{
pCanvas.verticalScrollPolicy="on";
image.y=0;
}
alignKids();
}
我找到了image.height&amp;尽管图像缩放,宽度仍未改变!
在缩放其父级后,孩子是否应该更改其边界?特别是在孩子真正缩放后?为什么孩子的界限与缩放前的值相同?我没有缓存Bitmap,没有打开位图的缓存。
答案 0 :(得分:0)
让我们看看......
这也是你在问之前可以尝试过的事情之一,因为设置已经存在......