flash AS3 - параметр child должен быть ненулевым - PullRequest
1 голос
/ 30 марта 2011

ошибка получения

TypeError: Ошибка № 2007: параметр ребенок должен быть ненулевым. в flash.display :: DisplayObjectContainer / addChildAt () в fl.controls :: ProgressBar / drawTrack () на 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();

Ответы [ 2 ]

1 голос
/ 30 марта 2011

не дает мне ошибок, но в CS5 вы можете проверить только одно: перетащите компонент индикатора выполнения из окна компонента, сохраните и запустите файл, а затем удалите экземпляр.после этого ваш код должен работать нормально.

также вы можете прокомментировать эту строку как:

var progressBarr:ProgressBar = new ProgressBar();
//progressBarr.source = swfLoader.contentLoaderInfo;
progressBarr.x = 27;
progressBarr.y = 155;

проверьте флаг здесь:

http://ashwani.50webs.com/test.fla

0 голосов
/ 30 марта 2011

Вы пробовали звонить

progressBarr.source = swfLoader.contentLoaderInfo;

после инициализации загрузчика? Возможно, вам придется подождать, пока это не будет создано, прежде чем присваивать что-либо его contentLoaderInfo. Итак, удалите его вверху и добавьте его ниже вызова swfLoader.load:

swfLoader.load(swfRequest);
progressBarr.source = swfLoader.contentLoaderInfo;
...