As3 Movieclip在容器报告中加载了夸大的.width值

时间:2010-03-09 12:41:03

标签: actionscript-3 actionscript flash-cs3 movieclip moviecliploader

我正在尝试使用Movieclip加载器将swf(as3)加载到另一个As3 Swf中。加载后,Loader.width / loader.content.width返回一个夸大的值,而不是正在加载的swf的实际宽度。有关从何处开始寻找差异的指示? 提前谢谢。

更多细节(如果有帮助)

正在加载的swf具有UI组件,如下拉列表,输入框和组合框(要填充的表单)和编码的一次性补间。

当子MC加载到父动画片段时,返回的Loader.width值被夸大了大约28个像素(尽管高度保持不变)。 Loader.content.width还返回28像素的夸大值。夸大的值甚至超过了儿童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
}

2 个答案:

答案 0 :(得分:0)

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

trace(stage.stageWidth);
trace(stage.stageHeight);

答案 1 :(得分:0)

如果调整了父MC的大小,即如果在“变换”对话框中,它的读数不是100%,那么该转换将传递给任何子项。