在另一个as2 swf中与加载的as2 swf进行通信

时间:2010-11-15 20:25:39

标签: actionscript actionscript-2 moviecliploader

我已经使用MovieClipLoader在另一个AS2 swf中加载了AS2 swf。 我无法控制(无法编辑)儿童SWF。 有没有办法可以与父母swf的孩子swf沟通。

子swf不接受任何LocalConnection对象。 我可以用其他方式调用子swf中的方法吗?

谢谢, 斯

3 个答案:

答案 0 :(得分:1)

我错误地添加了与onLoadComplete侦听器中加载的swf按钮交互的代码,除非您只与加载的swf容器进行交互,动态文本或加载的swf中的按钮不能,否则它不起作用被访问。要控制子项内的对象(按钮,动态文本等),请在onLoadInit侦听器中添加代码。作为一个例子

mclListener.onLoadInit = function(childSwf:MovieClip, status:Number):Void { 
    childSwf.btnInsideChild.onRelease = function() 
    {
        childSwf._x += 10;
    }
};

通过单击加载的swf

中的按钮来移动我加载的childswf

答案 1 :(得分:0)

您可以访问类似子MovieClip / Custom Class Instance。在加载时,您必须定义一个变量,并且必须使用变量来访问Child外部swf的公共方法。它被视为子显示对象。并且根据Flash UI显示列表系统,MovieClip可以包含无限级别嵌套的子显示对象。

答案 2 :(得分:0)

初始化后,您可以访问子swf上的任何公共方法/属性。听取onLoadInit处理程序,并从那里访问子成员。如果swfs存在于同一AVM运行时实例中,则不需要LocalConnection对象。