收到错误
TypeError:错误#2007:参数 孩子必须是非空的。在 flash.display使用::的DisplayObjectContainer / addChildAt() 在 fl.controls ::进度/ drawTrack() at fl.controls :: ProgressBar / draw() 在 fl.core :: UIComponent / callLaterDispatcher()
在cs5内,任何想法。谢谢。动画导入很好,但是我没有显示进度条就得到了这个错误。
import fl.controls.ProgressBar;
var swfRequest:URLRequest = new URLRequest("animation2.swf"); //load animation file
var swfLoader:Loader = new Loader();
var progressBarr:ProgressBar = new ProgressBar();
progressBarr.source = swfLoader.contentLoaderInfo;
progressBarr.x = 27;
progressBarr.y = 155;
loadMovie();
function loadMovie():void{
addChild(progressBarr);
swfLoader.load(swfRequest);
}
swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded, false, 0, true); //when loaded call swfLoaded
//swfLoader.load(swfRequest);
//
function swfLoaded(event:Event):void{
swfMC.addChild(swfLoader); //add animation to swfMC movie clip
removeChild(progressBarr);
}
stop();
答案 0 :(得分:1)
在CS5中没有给我任何错误,虽然您可以检查的一件事是,从组件窗口拖动进度条组件,保存并运行您的文件,然后删除该实例。之后你的代码就可以了。
你也可以将这一行评论为:
var progressBarr:ProgressBar = new ProgressBar();
//progressBarr.source = swfLoader.contentLoaderInfo;
progressBarr.x = 27;
progressBarr.y = 155;
检查fla:
答案 1 :(得分:0)
您是否尝试过调用
progressBarr.source = swfLoader.contentLoaderInfo;
你初学了装载机?您可能需要等到实例化之后再向其contentLoaderInfo分配任何内容。因此,将其从顶部移除并将其添加到swfLoader.load调用下方:
swfLoader.load(swfRequest);
progressBarr.source = swfLoader.contentLoaderInfo;