我以为我有AS3,DisplayObjectContainers等的句柄,但这个基本的东西真的让我困惑:改变精灵的宽度/高度并不影响它视觉内容 - 绘制在其中的图形或其可能具有的任何儿童。Flex/AS3:改变宽度/高度不影响内容
我搜索了四周,发现代表我自己的小测试代码的Adobe页面。从那个页面上我可以预料,随着宽度的增加,精灵的视觉尺寸会增加。对我而言,事实并非如此。 (http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#width)
宽度属性
width:Number
[读写]指示显示对象的宽度,以像素为单位。宽度是根据显示对象内容的边界计算的。当设置了宽度属性,则
scaleX
属性会相应调整,如图以下代码:
下面我的代码不影响视觉显示在所有 - 但它确实设置宽度/高度,在至少根据跟踪输出。它不会影响scaleX
/scaleY
。
我在这里错过了什么?
我的设置代码:
testSprite = new SpriteVisualElement();
var childSprite:SpriteVisualElement = new SpriteVisualElement();
childSprite.graphics.beginFill(0xFFFF00, 1);
childSprite.graphics.drawRect(0, 0, 200, 100);
childSprite.graphics.endFill();
childSprite.name = "child";
testSprite.addChild(childSprite);
container.addElement(testSprite);
testSprite.addEventListener(MouseEvent.CLICK, grow);
}
public function grow(event:MouseEvent):void
{
event.target.width += 5;
event.target.height += 5;
trace("grow", event.target.width);
}