apache-flex - 为什么加载的 SWFLoader 的宽度和高度为零?

标签 apache-flex flash

我有一个扩展 SWFLoader 的类,我像普通 SWFLoader 一样使用它:

var loader:MySWFLoader = new MySWFLoader();
loader.load("myFile.SWF");
myScene.addChild(loader);

加载工作正常,除了它保持为 0,因为宽度和高度从未从 0 改变。我不得不覆盖宽度/高度获取属性以使其工作:

class MySWFLoader extends SWFLoader
{
public override function get width():Number{    return contentWidth;    }
public override function get height():Number{   return contentHeight;   }
}

这不仅是一个大黑客,而且也不完全正确;特别是因为 SWF 有多个框架并且框架的宽度/高度不同。

为什么宽度/高度一开始就不起作用?它们不应该在加载过程中自动设置吗?问题是否可能出在 SWF 本身?

更新:将 scaleContent 更改为 true 或 false 没有区别。

最佳答案

我不确定这是否适用于 SWF 加载,但每当我加载内容时,我无法在加载整个内容之前访问宽度和高度。

所以做一个事件监听器,当加载完成时监听,然后读取高度/宽度。

另请看一下 AS3 中的 loaderInfo 类

关于apache-flex - 为什么加载的 SWFLoader 的宽度和高度为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/208033/

相关文章:

html - 如果我删除嵌入标签,为什么这个 youtube 嵌入代码会停止工作?

flash - Android 浏览器上的 Swiffy

ruby-on-rails - Flash 消息 (Rails v.4.1.1) 花括号

apache-flex - 从Flex 3迁移到Flex 4错误

apache-flex - 将 VBox 动态更改为 HBox

apache-flex - 如何在FlashDevelop中将项目引用添加到swcs

flash - 使用多个按钮控制多首歌曲

apache-flex - 使用 Flex4 SDK 编译

apache-flex - 使用 ANT 查找工作区位置

actionscript-3 - 单独验证 DataGridColumn 单元格