我正在尝试使用 Movieclip 加载程序将 swf(as3) 加载到另一个 As3 Swf 中。然而,加载后 Loader.width/loader.content.width 返回一个比正在加载的 swf 的实际宽度夸大的值。关于从哪里开始寻找差异的任何指示?提前致谢。
更多细节(如果有帮助)
正在加载的 swf 具有 UI 组件,例如下拉菜单、输入框和组合框(它是要填写的表单)以及编码的一次性补间。
当子 MC 加载到父动画剪辑中时,返回的 Loader.width 值被夸大了大约 28 个像素(尽管高度保持不变)。Loader.content.width 还返回一个 28 像素的夸张值。Exaggerated 值甚至超过了子 MC 的舞台宽度。额外的约 30 像素会扰乱父影片中的后续代码,以缩放和居中加载的 swf。
更新:
stage.stageWidth 返回正确的值。
父 MC 中用于加载外部 SWF 的代码:
private var deadURL = "child.swf";
private var deadReq:URLRequest = new URLRequest(deadURL);
private var deadLoader:Loader = new Loader();
deadLoader.load(deadReq);
deadLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onDeadLoad);
public function onDeadLoad(e:Event):void
{
addChild(deadLoader);
trace("content.width: " + deadloader.content.width); //returns exaggerated value
trace("width: " + deadLoader.width); //returns same exaggerated value
}