2010-03-18 3 views
0

Мне также предоставили fla, чтобы внести некоторые изменения. В основном это довольно долгая анимация времени со звуком. До сих пор я успешно добавил несколько функций кнопок для звука и т. Д., Но меня это сильно забило.loading child swf as3

Одна из кнопок должна загружать дочернюю swf. Я использую следующий код, но я получаю сообщение об ошибке - «Ошибка № 1009: невозможно получить доступ к свойству или методу ссылки на нулевой объект». Я считаю, что это может быть refferring к объекту, который еще не установлен, но я понятия не имею, какой из них является:

Код:

var mcExt:MovieClip = new MovieClip(); 
var ldr:Loader = new Loader(); 
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded); 
ldr.load(new URLRequest("Downloads.swf")); 

function swfLoaded(e:Event):void { 
mcExt = MovieClip(ldr.contentLoaderInfo.content); 
ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded); 
mcExt.x = 50; 
mcExt.y = 50; 
addChild(mcExt); 
} 

Любая помощь на том, что происходит не так было бы весьма признателен!

Благодаря

+0

Похоже, что ошибка находится где-то в другом месте. Попытайтесь выяснить номер строки, добавив инструкции трассировки. – Amarghosh

ответ

0

Место

ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded);

в конце кода, что делает его:

var mcExt:MovieClip = new MovieClip(); 
var ldr:Loader = new Loader(); 
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded); 
ldr.load(new URLRequest("Downloads.swf")); 

function swfLoaded(e:Event):void { 
    mcExt = MovieClip(ldr.contentLoaderInfo.content); 
    mcExt.x = 50; 
    mcExt.y = 50; 
    addChild(mcExt); 
    ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, swfLoaded); 
} 

Я считаю, что позиция вашего removeEventListener является то, что Мессинг ваш код.

1

Вместо:

ldr.contentLoaderInfo.content 

Try:

ldr.content 

Надежда, которая решает свои проблемы!

+1

afaict, оба действительны и одинаковы – Amarghosh

+0

Спасибо за исправление, очень круто! –

Смежные вопросы