我有一个大小为1280 x 720的影片剪辑,里面有一些图像,按钮和文字 运行时我需要将此影片剪辑的大小更改为1280 x 300,这样,影片剪辑中的图像,按钮和文本会被垂直挤压。
如何使用不同大小的图像和文本显示相同的移动剪辑,而不会影响包含的大小。
新编辑/更新:
在另一种情况下,我在影片剪辑中有列表
我想要存档的是我想保持列表项大小是静态的,如果父级重新调整大小,它不应该改变。如果在闪存中不可能,那么我该如何重新调整列表中的所有项目。我不知道为什么列表没有正确使用滚动属性来显示它的大小包含。例如,如果列表大小为600px,那么它应该在列表中显示7个项目,然后为其他项目提供滚动,如果我们将列表重新调整为假设300,它应该显示4个项目并提供滚动。剩余项目
感谢。
答案 0 :(得分:0)
如果此MovieClip是主文档类,则设置阶段的以下属性:
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
如果此MovieClip存在于swf / timeline / display stack中的其他位置,则可以覆盖宽度/高度设置器并编写一些自定义代码来组织MovieClip
override public function set width(value:Number):void
{
//organise your MovieClips images/buttons/text horizontally
}
override public function set height(value:Number):void
{
//organise your MovieClips images/buttons/text vertically
}
有更复杂的解决方案(只渲染一次,而不是每次设置调用),对于那些我会看看Keith Peters如何在他的MinimalComponents库中处理它。
答案 1 :(得分:0)
据我所知,你有一个带有图像,一些文本字段和按钮的影片剪辑。您正在调整movieclip的大小,这会扭曲其所有子显示对象。
你要做的是覆盖宽度/高度设置器(如Hawks建议的那样)或者添加一个新的方法(例如resize( newHeight:int )
),它可以执行以下操作:
function resize( newHeight:int ):void
{
// resize the image
image.height = newHeight;
image.scaleX = image.scaleY; // this will maintain the aspect
// re-position the other elements
button.y = newHeight - button.height - 5; // where 5 is the margin
textField1.y = button.y - textField1.height; // if you want the text field to be positioned above the button
}