2015-07-10 3 views
0

У меня есть странная проблема с импортом внешнего SWF в ActionScript 3.0. Я хочу, чтобы импортировать SWF сделанные с Easypano Tourweaver 7,96, но когда я делаю это я получаю Error #2007: Parameter child must be non-null. Вот код:Flash AS3 - импорт внешних ошибок SWF Ошибка # 2007

var VRArea:MovieClip = new MovieClip(); 

VRArea.x = 0; 
VRArea.y = 96; 

addChild(VRArea); 

var my_Loader:Loader = new Loader(); 
var urlRequest : URLRequest = new URLRequest("vr/vr_Candela.swf"); 

my_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete); 
my_Loader.load(urlRequest); 

function loaderComplete(event:Event):void { 
    VRArea.addChild(my_Loader); 
} 

Полная ошибка показана ниже:

TypeError: Error #2007: Il valore del parametro type deve essere diverso da null. 
at flash.events::EventDispatcher/addEventListener() 
at `[::-V/5?() 
at ->::4J/Step4_2_startUI() 
at ->::4J/`Z() 
at [A::&=/1?() 
at [A::%c/dispatch() 
at !A::%D/load() 
at ->::4J/Step3_1_LoadConfig() 
at ->::4J/Step3() 
at ->::4J/Step2_createContext3D() 
at ->::4J/%$() 
at flash.events::EventDispatcher/dispatchEventFunction() 
at flash.events::EventDispatcher/dispatchEvent() 
at $::TWLoadingWindow/+&() 
at flash.events::EventDispatcher/dispatchEventFunction() 
at flash.events::EventDispatcher/dispatchEvent() 
at 0M::1X/;$() 
at 0M::1X/[email protected]() 
at Function/http://adobe.com/AS3/2006/builtin::apply() 
at 0M::>5/&S() 

Дополнительная информация: Я получаю только экран загрузки внешнего SWF.

+0

Я думаю, что ваш упомянутый код в порядке, и проблема в загруженном swf. – akmozo

ответ

0

Вы должны использовать event.target в вашем слушателе, чтобы добавить объект-загрузчик. Более того, поскольку вы назначили слушателю значение loaderInfo, вам нужно получить объект content, который является объектом с загруженным SWF.

function loaderComplete(event:Event):void { 
    var li:LoaderInfo=event.target as LoaderInfo; 
    if (!li) return; // failed typecast 
    VRArea.addChild(li.content); // add content 
} 
+0

Спасибо, я пробовал ваш отрезанный, но я получаю ту же ошибку, ничего не изменилось. Он всегда останавливается на экране загрузчика внешнего SWF. – MannyGT

+0

Хм. Добавьте слушателя для ошибок, 'IOErrorEvent.IO_ERROR', по крайней мере, и посмотрите, не срабатывают ли эти триггеры. Вероятно, произошел сбой загрузки, который по-прежнему генерирует полное событие, но с нулевым значением в 'content'. – Vesper

+0

Просто попробовал. Я использовал этот код: my_Loader.addEventListener (IOErrorEvent.IO_ERROR, giveError); Функция giveError (errorEvent: IOErrorEvent): void { \t trace ("ioErrorHandler:" + errorEvent); } Ошибка произошла. – MannyGT

0

Я решил проблему: SWF-я попытался врезать было сделано с флэш 11.x (по крайней мере вспышки CS6) и шахта была вспышка 10,0 (Flash CS5). Я решил обновить до Flash CS6 и снова опубликовать. Теперь все в порядке.

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