关于As3的flash文件调用As2影片的一些问题

之前忘记记录了,用了这个方法后,单个机器只能打开一个这样的flash文件组,如果在另外一个浏览器(或窗口)弹出就会失效…

案例情况是存在3个swf文件

main.swf(as3)

mask.swf(as2)

reg.swf(as3)

main会导入mask和reg,并会对mask添加一个点击事件让reg弹出。

mask里面本身有部分互动。

问题:

在main调用mask后,发现所有mask里面所有含有事件的元件(包括没有事件的按钮元件)覆盖的范围,都没有main给mask注册的点击效果。但是如果用as3代码写就可以~

因为以后可能有很多这样的东西,所以转as2为as3不够现实,只能想其他办法来解决。

最终方案:

让As2回调As3的函数,实现reg的弹出效果。

具体代码(供参考):

main.swf里面加上如下代码
var localConnection:LocalConnection;
localConnection = new LocalConnection();
localConnection.client = this;//创建本地连接
localConnection.connect("AS3Connection");//参数是接口,根据需要起名字

function As3Action(){
    //as2里面要调用的函数和内容
}

mask.swf所有含有事件的元件(包括没有事件的按钮元件)增加点击事件,并包含如下代码:

var localConnection:LocalConnection = new LocalConnection();
localConnection.connect("AS2Connection");
localConnection.send("AS3Connection","As3Action");

就可以实现main里面需要做的动作了~

发表回复