我已将flash swf文件加载到我的flex项目中。
我使用SWFLoader
来加载swf文件。
var loader:SWFLoader = new SWFLoader();
loader.load("player/VideoPlayer.swf");
loader.width = 320;
loader.height = 280;
parentContainer.addElement(loader);
其中parentContainer
是<s:BorderContainer
。它的宽度为320,高度为280.
我也尝试设置如下,但没有成功:
function onComplete(event:Event):void
{
loader.width = 320;
loader.height = 280;
}
问题:但是当我运行它时,swf文件加载到全宽和高度。
如何将它的宽度和高度设置为它的父容器?
我也尝试过:
<s:BorderContainer id="parentContainer" width="320" height="280">
<s:SWFLoader width="320" height="280" scaleContent="false" autoLoad="true"
source="@Embed(source='player/VideoPlayer.swf')" />
</s:BorderContainer>
但它仍需要100%的应用程序大小。应用程序大小为600 X 500。
修改
swfloader
涵盖整个应用程序,所有其他隐藏组件隐藏在 swfloader
答案 0 :(得分:0)
来自文档:
<强> scaleContent 强> 一个标志,指示是缩放内容以适合控件的大小,还是将控件的大小调整为内容的大小。如果为true,则内容会缩放以适合SWFLoader控件。如果为false,则SWFLoader会缩放以适合内容。
我不知道为什么不起作用,因为scaleContent
的默认值是true
,尝试设置属性:
<s:BorderContainer id="parentContainer" width="320" height="280">
<s:SWFLoader width="320" height="280" scaleContent="true" autoLoad="true"
source="@Embed(source='player/VideoPlayer.swf')" />
</s:BorderContainer>
或者:
var loader:SWFLoader = new SWFLoader();
loader.load("player/VideoPlayer.swf");
loader.width = 320;
loader.height = 280;
loader.scaleContent = true;
parentContainer.addElement(loader);