栏目导航
热点推荐
- Photoshop鼠绘:人物五官画法的
- PhotoShop方便快捷的实用小技巧
- Photoshop教程:Ps计算选区调出
- 欣赏:设计灵感-泼溅效果实例
- FLASH代码最优化实例
- 制作Flash动画控制SWF大小的技巧
- Flash教程:全面掌握按钮相关内容
- Photoshop制作Apple风格的时间机
- PS照片合成:创意合成杯中世界
- 快速批量去除图片水印效果
- 几种图片的格式异同
- 简单就是美 Photoshop光线教程
阅览排行
AS教程:加载与被加载swf内部变量相互调用
www.jz123.cn 2009-12-24 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
工作中遇到需要使加载与被加载swf(as2编写)内部变量互相调用的问题,使用loadMovie,以下是我实践的代码:
以下是我在网络上找到资料:
在as2中,无论你用loadMovie还是loadClip加载进来一个swf,只要知道他们的层级关系,都可以用this、_parent等轻松相互控制。下面以main.swf和sub.swf为例:
main.swf主时间轴第一帧代码:
var my_mcl:MovieClipLoader = new MovieClipLoader(); var mclListener:Object = new Object(); //加载完毕 mclListener.onLoadInit = function(target_mc:MovieClip):Void { main_btn.onRelease = function(){ sub_mc.mainCallSub();//点击main.swf主场景名为main_btn的按钮,调用sub.swf主场景名为mainCallSub的函数 } } my_mcl.addListener(mclListener); sub_mc._lockroot = true;//锁定被加载swf的主时间轴,让_root统一指向main.swf的主时间轴 my_mcl.loadClip("sub.swf", sub_mc);//把sub.swf加载到main.swf主场景名为sub_mc的剪辑中。 //被sub.swf访问的函数 function subCallMain(){ trace("subCallMain !"); |
sub.swf主时间轴第一帧代码:
sub_btn.onRelease = function(){ this._parent._parent.subCallMain();//点击sub.swf主场景名为sub_btn的按钮,调用main.swf主场景名为subCallMain 的函数 //当然,也可以直接一点,用_root.subCallMain();但前提是main.swf上加上sub_mc._lockroot = true;不然访问的是自己的时间轴 } //被sub.swf访问的函数 function mainCallSub(){ trace("mainCallSub !"); } |
在main.swf中:
var loader:MovieClip = this.createEmptyMovieClip("loader", 1); //创建一个空影片剪辑,深度为1 loader.loadMovie("login.swf"); //加载同文件夹下的login.swf |
在login.swf中:
this._lockroot = true; //此句必不可少,表示对已加载影片中 _root 的引用都会指向已加载影片的 _root,而不是加载器的 _root _root._parent.welcome.text="......."; //此句可以实现对main.swf中welcome实例的值进行设置 _root.unloadMovie(); //此句可以卸载login.swf |
上一篇:Photoshop调出怀旧色调的照片 下一篇:2010年到了,挂个红灯笼吧!