Flash 缩放UIComponent并不是缩放其子级
我正在构建一个Flex应用程序,它基于一些选项/过滤器创建整洁的矢量图像。Flash/Flex/AS3相对较新,所以我边学边用 简言之:Flash 缩放UIComponent并不是缩放其子级,flash,actionscript-3,flex3,scale,children,Flash,Actionscript 3,Flex3,Scale,Children,我正在构建一个Flex应用程序,它基于一些选项/过滤器创建整洁的矢量图像。Flash/Flex/AS3相对较新,所以我边学边用 简言之: // I create a new UIComponent var myuic:UIComponent = new UIComponent(); // I then draw some vector graphics to it.. myuic_prev.graphics.beginFill(fgRGB, 1); myuic_prev.graphics.d
// I create a new UIComponent
var myuic:UIComponent = new UIComponent();
// I then draw some vector graphics to it..
myuic_prev.graphics.beginFill(fgRGB, 1);
myuic_prev.graphics.drawRect(xptr, yptr, pxls, pxls);
myuic_prev.graphics.beginFill(fgRGB, 1);
myuic_prev.graphics.drawCircle(cx,cy,cr);
myuic.graphics.beginFill(fgRGB, 1);
myuic.graphics.drawCircle(cx,cy,cr);
myuic_prev.graphics.endFill();
由于各种原因,生成的结果图像可能适合也可能不适合我的画布或显示容器,在本例中是具有固定宽度的VBOX。在这种情况下,我
需要缩放生成的UIComponent图像
我在Adobe文档中读到,调整UIComponent的比例将适当地缩放其子级。事实上,我看到很多关于如何防止这种情况的帖子
所以我试着。。。简单地说:
// Scale my UIC by changing the width
myuic_prev.width = 520;
// Now make the two scale factors the same, this keeps proportions.
myuic_prev.scaleY = mxuic_prev.scaleX;
我发现这似乎可以缩放UIComponent本身,但不能缩放子组件或我在其中绘制的形状。这些形状现在超出了范围,或者从页面上剪下
我不明白什么?这些形状是否不被视为儿童?或者,我该如何让它工作。谢谢 UIComponent的width属性的工作方式与其父类Sprite不同,因为Flex组件具有不同的调整大小逻辑。在示例中,修改宽度或高度不会影响图形层。如果要缩放UIComponent和图形层,请尝试直接使用scaleX和scaleY属性
如果要按宽度缩放到520并保持纵横比,请在示例中尝试此操作:
component.scaleX = component.scaleY = 520 / component.width;
关于您建议的问题编辑:堆栈溢出中的标记将自动格式化带有语法突出显示的代码!每行缩进4个或更多空格。您不应该使用或标记。选择整个块并单击工具栏中的{}图标将自动为您添加前导空格。@CodyGray-Yep我看到了您的下一次编辑,并获得了要点。谢谢,没问题。这个建议的编辑功能的目标之一是为新用户提供培训。降价支持是很多人错过的,因为大多数论坛都不支持它。并不是每个人都像你一样学得快-