我已经使用 MovieClipLoader 在另一个 AS2 swf 中加载了一个 AS2 swf。我无法控制(无法编辑)子 swf。有没有办法可以从父 swf 与子 swf 进行通信。
子 swf 不接受任何 LocalConnection 对象。我可以通过其他方式调用子 swf 中的方法吗?
谢谢, 斯里
我已经使用 MovieClipLoader 在另一个 AS2 swf 中加载了一个 AS2 swf。我无法控制(无法编辑)子 swf。有没有办法可以从父 swf 与子 swf 进行通信。
子 swf 不接受任何 LocalConnection 对象。我可以通过其他方式调用子 swf 中的方法吗?
谢谢, 斯里
我犯了一个错误,即在侦听器中添加与加载的 swf 按钮交互的代码,onLoadComplete
除非您仅与加载的 swf 容器交互,否则无法访问加载的 swf 内的动态文本或按钮。要控制子对象内的对象(按钮、动态文本等),请将您的代码添加到onLoadInit
侦听器中。举个例子
mclListener.onLoadInit = function(childSwf:MovieClip, status:Number):Void {
childSwf.btnInsideChild.onRelease = function()
{
childSwf._x += 10;
}
};
通过单击加载的 swf 中的按钮移动了我加载的 childswf
初始化后,您可以访问子 swf 上的任何公共方法/属性。监听onLoadInit
处理程序,并从那里访问子成员。如果您的 swf 存在于同一个 AVM 运行时实例中,则不需要 LocalConnection 对象。
您可以访问子 MovieClip / 自定义类实例。加载时,您必须定义一个变量,并且您必须使用变量来访问子外部 swf 的公共方法。它被视为子显示对象。并且根据 flash UI 显示列表系统,MovieClip 可以包含无限级别的嵌套子显示对象。