2016-10-13 00:16:48 点击量:7 标签: 收藏本文
做了一个小实验:as3访问加载的外部swf以及加载文件访问父文件。
有两个SWF文件:s1.swf和s2.swf.
s1.swf里面没有元件,s2.swf里有两个button,名字分别为btn和btn2.
s1.swf第一帧代码:
- var loader:Loader = new Loader();
- loader.load(new URLRequest('s2.swf'));
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded);
- function loaded(e:Event):void{
- addChild(loader);
- var sub_swf:MovieClip = e.target.content as MovieClip;
- //执行S2.SWF里面的函数
- sub_swf.s2_func('这是s2.swf里面的函数');
- //给s2.swf里面的元件注册事件
- sub_swf.btn.addEventListener(MouseEvent.CLICK,clickBtn);
- function clickBtn(e:MouseEvent):void{
- s1_func("这是s1.swf里面的函数");
- }
- }
- function s1_func(s:String){
- trace(s);
- }
s2.swf第一帧代码:
- btn.buttonMode = btn2.buttonMode = true;
- //被加载后,执行s1.swf里的函数
- btn2.addEventListener(MouseEvent.CLICK,btn2_click);
- function btn2_click(e:MouseEvent):void{
- var parent_mc=MovieClip(parent.parent);
- parent_mc.s1_func("这是s1");
- }
- function s2_func(s:String):void{
- trace(s);
- }

我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室