我正在尝试使用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
}
答案 0 :(得分:0)
您是否可以发布用于加载外部SWF的代码?
您在哪种方法中读取宽度/高度值?
在外部swf中执行时,以下代码返回哪个值?
trace(stage.stageWidth);
trace(stage.stageHeight);
答案 1 :(得分:0)
如果调整了父MC的大小,即如果在“变换”对话框中,它的读数不是100%,那么该转换将传递给任何子项。