0

我已经使用 MovieClipLoader 在另一个 AS2 swf 中加载了一个 AS2 swf。我无法控制(无法编辑)子 swf。有没有办法可以从父 swf 与子 swf 进行通信。

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

谢谢, 斯里

4

3 回答 3

1

我犯了一个错误,即在侦听器中添加与加载的 swf 按钮交互的代码,onLoadComplete 除非您仅与加载的 swf 容器交互,否则无法访问加载的 swf 内的动态文本或按钮。要控制子对象内的对象(按钮、动态文本等),请将您的代码添加到onLoadInit侦听器中。举个例子

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

通过单击加载的 swf 中的按钮移动了我加载的 childswf

于 2014-08-06T13:57:20.370 回答
0

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

于 2010-11-20T20:06:30.460 回答
0

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

于 2011-11-28T04:45:29.423 回答