我们有返回 VPAID 广告的 VAST 标签,我们使用 actionscript3 开发了类似于 OVA 的插件,以便使用我们开发的插件在 adobe 播放器中显示广告。但是每次它都会给出错误
TypeError:错误 #2007:参数 child 必须为非空。
在调试时,它会被初始化、启动并加载,但之后会显示此错误。任何人都可以帮忙吗?提前致谢。
我们有返回 VPAID 广告的 VAST 标签,我们使用 actionscript3 开发了类似于 OVA 的插件,以便使用我们开发的插件在 adobe 播放器中显示广告。但是每次它都会给出错误
TypeError:错误 #2007:参数 child 必须为非空。
在调试时,它会被初始化、启动并加载,但之后会显示此错误。任何人都可以帮忙吗?提前致谢。
如果我没记错的话,通常当你在 actionscript 中开发一些需要加载资产或在 DisplayList 中放置一些东西时Sprite
,你必须等待Stage
准备好。我通常在Main
类(或 .fla 文件中链接的类)中执行此操作,这样代码就知道何时将资产加载到DisplayList
public class Main extends Sprite {
public function Main():void{
init();
if (stage != null){
addedToStage();
}else{
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
}
}
private function addedToStage(e:Event = null):void {
//entry point
}
private function init():void{
//here you initialize your variables
}
}
有时Stage
会准备好,有时文件有点太重,加载需要时间,所以我们放了一个监听器等待。如果你在本地做,它不会失败,但是你一上线(网站),你就会发现这个差异。
您可以尝试的另一件事是将该 swf(广告)加载到Loader
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteContentLoaderInfo);
并且在 onCompleteContentLoaderInfo 函数中检查_loader.content;
加载后它在技术上是一个潜在的 SWF,因此您可以检查它的属性,并验证它的阶段是否可用(不为空)。
当您在线工作时,如果要加载某些内容,您总是需要检查侦听器,这有时很棘手;也许你已经知道了,但是要检查的第一个监听Stage
器非常重要。