0

我有 2 个 SWF。一个是 Parent.swf,另一个是 child.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 中调用,这 3 行运行良好,但是

如果我们把它们放在 videovariables 函数中,我们会得到错误:

ReferenceError:错误 #1069:在 flash.display.Loader 上找不到属性 vipin,并且没有默认值。在 _3dstalls_fla::Symbol1_1/videovariables()[_3dstalls_fla.Symbol1_1::frame1:53] 在函数/()[_3dstalls_fla.Symbol1_1::frame1:49]

可能是什么原因?请告诉我。

谢谢

4

1 回答 1

2

如果您查看错误消息,它会显示:在flash.display.Loader上找不到属性 vipin, 这意味着 _loader 指的是 Loader 实例,而不是 MovieClip。

由于您想要的 MovieClip 已加载到加载器 ( _loader) 中,因此您可以使用contentLoader 类的属性访问它。

function videovariables(vid):void {
     trace(_loader.content.vipin);
    _loader.content.vipin="Overwrite with Ashwini"
}
于 2013-04-28T14:35:16.143 回答