调整加载的SWF大小以适应画布

时间:2009-07-29 16:51:15

标签: flex flex3 resize canvas swfloader

.fla是500 x 300.在内部,内容移出500 x 300舞台,这样它就会隐藏或移出屏幕。

.fla编译...通过SWFLoader加载到Flex中:

<mx:Conainer width="500" height="300">
       <mx:SWFLoader width="100%" height="100%" />
</mx:Conainer>

已加载的.swf文件显示在Flex中的500 x 300容器之外。

我怎样才能获得它,只有容器的INSIDE可见?

3 个答案:

答案 0 :(得分:1)

好的,我想通了。

<mx:Canvas id="swfHolder" mask="{maskCanvas}">
        <mx:SWFLoader id="swffer" scaleContent="true" />
</mx:Canvas>

<mx:Canvas id="maskCanvas" backgroundColor="#000000"/>

诀窍是使用“mask”属性。请注意,执行“屏蔽”的对象必须设置backgroundColor属性。我发现这篇文章很有帮助:link text

答案 1 :(得分:0)

<mx:Conainer width="500" height="300" clipContent="true">
       <mx:SWFLoader width="100%" height="100%" />
</mx:Conainer>

使用“clipContent”属性

Canvas的Flex帮助:

clipContent:Boolean [读写]

如果此容器的子项的位置和/或大小超出此容器的边框,是否应用剪贴蒙版。如果为false,则此容器的子项在移动或大小超出此容器的边框时仍保持可见。如果为true,则此容器的子项被剪裁。

如果clipContent为false,则对此容器禁用滚动,并且不会显示滚动条。如果clipContent为true,则当容器的子项扩展到容器边框之外时,通常会出现滚动条。有关滚动条外观的其他控制,请参阅horizo​​ntalScrollPolicy和verticalScrollPolicy。

答案 2 :(得分:0)

请在 SWFLoader 标记中使用scaleContent="true"