【发布时间】:2015-12-30 17:03:42
【问题描述】:
我有这段代码假设在我的主文件 (skeleton.fla) 中添加一个 swf 文件 (homePage.swf)。
代码:
var mcHome:MovieClip;
var newPage:Loader = new Loader();
newPage.load(new URLRequest("homePage.swf"));
newPage.contentLoaderInfo.addEventListener(Event.COMPLETE, homeLoaded);
function homeLoaded(event:Event):void {
mcHome = MovieClip(newPage.contentLoaderInfo.content);
newPage.contentLoaderInfo.removeEventListener(Event.COMPLETE, homeLoaded);
addChild(mcHome);
}
我不断收到此错误:
TypeError:错误 #2007:参数 child 必须为非 null。在 flash.display::DisplayObjectContainer/addChild() 在 skeleton_fla::MainTimeline/homeLoaded()
我不知道如何解决它,或者改变什么!
请帮忙,我有点绝望。
【问题讨论】:
-
确保“homePage.swf”和你的skeleton.fla在同一个目录,并检查swf文件名的拼写
-
是的。而且名字也一样。
-
试试
addChild(newPage);。例如添加加载程序而不是加载程序的内容。如果 swf 不存在,您将无法获得完整的事件。很可能是安全沙盒问题。 -
现在我遇到了这个错误:TypeError:错误 #1009:无法访问空对象引用的属性或方法。在skeleton_fla::MainTimeline/homeLoaded()
-
你的 homeLoaded 函数现在是什么样子的?如果你不做任何其他事情,你可以只使用三行代码:
var newPage:Loader.....-newPage.load(new URLRequest.....); -addChild(newPage);- 然后忘记home加载的函数,一起完成监听器。
标签: actionscript-3 flash