2013-04-28 2 views
0

У меня есть 2 SWF. Один Parent.swf и другие - child.swf.AS3 не может назначить переменную дочернему swf

в родительском SWF. Я загружаю swf для детей.

Я использую загрузчик для загрузки swf. Мой код выглядит следующим образом:

---------------------------------------- 
    stop(); 
var req:URLRequest = new URLRequest("stalla.swf"); 

var _loader = new Loader(); 
var stallaloader1:MovieClip=new MovieClip(); 
addChild(stallaloader1); 

    Object(this).stallaloader1.x=5000; 
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete); 
_loader.load(req); 
stallaloader1.addChild(_loader); 
trace(stallaloader1.x); 
//_loader.vipin="Ashwini n Meha"; 
function loader_complete(evt:Event):void { 
//addChild(_loader); 
var _loader:MovieClip = MovieClip(evt.target.content); 
    //addChild(_loader); //embedSWF 
    //stallaloader1.stallclick; 
    //_loader.stallclick; 

    //evt.currentTarget.x=1000; 

    // btn2.addEventListener(MouseEvent.CLICK,_loader.stallclick); 
    btn2.addEventListener(MouseEvent.CLICK, function() {videovariables(2)}); 

} 
function videovariables(vid):void { 
trace(_loader.vipin); 
    _loader.vipin="Overwrite with Ashwini" 
    trace(_loader.vipin); 
} 

Эти три линии работают хорошо, если называется в loader_complete, НО

Если положить их в функции videovariables, мы получаем ошибку:

ReferenceError: Ошибка # 1069: свойство vipin не найдено на flash.display.Loader и нет значения по умолчанию. в _3dstalls_fla :: Symbol1_1/videovariables() [_ 3dstalls_fla.Symbol1_1 :: frame1: 53] на функцию /() [_ 3dstalls_fla.Symbol1_1 :: frame1: 49]

Что может быть причиной? Пожалуйста, дайте мне знать.

Благодаря

ответ

1

Если вы посмотрите на сообщение об ошибке, что говорит: Vipin Свойство не найдено на flash.display.Loader означает, что _loader относится к экземпляру Loader, а не к MovieClip.

Поскольку загружаемый MovieClip загружается в загрузчик (_loader), вы можете получить к нему доступ с свойством content класса Loader.

function videovariables(vid):void { 
    trace(_loader.content.vipin); 
    _loader.content.vipin="Overwrite with Ashwini" 
} 
Смежные вопросы