1

我正在尝试使用 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
}
4

2 回答 2

0

如果调整父 MC 的大小,即如果在“变换”对话框中读取的不是 100%,则该变换将传递给任何子节点。

于 2010-03-13T00:36:55.323 回答
0

您能否发布用于加载外部 SWF 的代码?
您以哪种方法读取宽度/高度值?
以下代码在外部 swf 中执行时返回哪个值?

trace(stage.stageWidth);
trace(stage.stageHeight);
于 2010-03-09T16:49:19.847 回答