0
这应该很简单。我错过了什么? 创建一个雪碧(容器),把它放在显示列表上,添加一个新的雪碧(矩形)容器。 改变孩子的身高(rect)。 虽然正确渲染,但父级(容器)和子级(rect)的高度值未正确报告。 感谢您的协助。AS3显示物体高度未正确报告
var container:Sprite = new Sprite();
addChild(container);
[Embed(source = "../lib/rectangle.swf")] // height is 100
var Rect:Class;
var rect:Sprite = new Rect();
trace(rect.height); // 100 is correct before placement in container
container.addChild(rect);
trace(rect.height); // 100 is correct after placement in container
trace(container.height); // 0 is not correct; should be 100
rect.height = rect.height + 100; // renders correctly at new height
trace(rect.height); // 100 is not correct; should be 200
trace(container.height); // 0 is not correct; should be 200
你说精灵(容器)内的精灵(矩形),但你的例子显示精灵内的SWF。 SWF中的内容是什么?它是压倒大小的属性? – Aaron
SWF是填充矩形的矢量图。它的高度是100px,宽度是4px。我不知道嵌入的SWF对sprite属性有什么影响。如果精灵的属性在AS3中更改,精灵将正常呈现。 – Gus
嵌入式swf嵌入为二进制文件,因此其行为有所不同。如果你创建了一个克隆,那么这个克隆就会正常工作。 – BotMaster