AS3 и класс загрузчика

Пишу сюда, потому что после поиска решения не смог устранить свою ошибку...

var test:MovieClip;

var sign:Loader = new Loader();  
sign.contentLoaderInfo.addEventListener(Event.COMPLETE, completSIGN);  
sign.load(new URLRequest("http://files.zebest-3000.com/278374/3011/3011.swf"));  

function completSIGN(e:Event):void  
{  
test = MovieClip(e.target.content);  
addChild(test);  
}

Это ошибка:

TypeError: Ошибка № 1009: невозможен доступ к собственности или методу нулевой ссылки на объект. в Main::StateManager()

Итак, фильм (некоторые видео работают отлично, а другие нет) не хочет загружаться в мой контейнер; кажется, проблема в отображении ... и не может изменить удаленный фильм.

  • Есть ли другой способ загрузки фильма внутри другого (я также пробовал загружать с помощью bytearray, но это то же самое)?
  • Можем ли мы поймать эту ошибку и переместить экземпляр, чтобы помочь ему найти правильный путь?

person Acti67    schedule 20.05.2010    source источник
comment
Что такое null в этой строке в StateManager? Я не вижу, как StateManager связан с этим кодом.   -  person quoo    schedule 20.05.2010
comment
если ошибка в StateManager, то опубликуйте этот код   -  person Amarghosh    schedule 21.05.2010
comment
StateManager это часть далекого фильма, кода у меня нет, но без инкапсуляции фильм работает!   -  person Acti67    schedule 21.05.2010


Ответы (1)


Основываясь на вашем комментарии, я предполагаю, что StateManager() вызывается из конструктора класса документа удаленного SWF и пытается получить доступ к stage, используя что-то вроде this.stage или this.root.stage. Теперь он будет работать без каких-либо проблем при запуске в качестве автономного SWF, потому что свойство stage было бы установлено к моменту вызова конструктора класса документа. При удаленной загрузке stage устанавливается только после того, как вы добавите его в полный обработчик.

Я не уверен в этом, но попробуйте вызвать addChild(sign); перед вызовом sign.load — вы можете удалить эти две строки из метода completeSign.

person Amarghosh    schedule 21.05.2010
comment
В этом случае загруженный контент создается перед добавлением в список отображения, что тоже имеет смысл, и вам придется связаться с автором StateManager, чтобы исправить это. - person Amarghosh; 21.05.2010