我的联盟 作品 招聘 外包 人才  酷站加油 国内 国外 CSS  资源图库 图库 模板 矢量 图标  设计欣赏 界面 LOGO 插画 艺术  网页 平面  专访 名站 竞赛 社区
当前位置:首页 > 网页教程 > Flash教程 > 正文
关于载入外部swf传参数或者共享变量问题
来源:闪吧 作者:kenljh 2010年03月23日 16:57 网友评论:0条 点击:

如果你在做flash开发,这个应该是经常碰到的事情:用a.swf加载b.swf,然后需要在b.swf中调用a.swf的方法或者变量。在as2里面实现这个很简单,root就是万能的。在a.swf中,用loadMovie的方法load b.swf到一个MovieClip后,b.swf就可以通过_root或者_parent来访问a.swf中的变量了。不过这招在AS3中已经不灵了,得换个方式。
在as3中,有这样一种方式可以实现:在a.swf中,使用Loader类来load b.swf,在load完成之后,调用b.swf中的一个方法,把a.swf的引用传入或者把相应变量传入给b.swf。一个简单的例子如下:

在a.swf的文档类或者时间轴上这么写:

参考代码:
// 这个是我们要访问的变量 
var ab:String = ’1234’; 
// 加载b.swf 
var ldr : Loader=new Loader(); 
ConfigureListeners(ldr.contentLoaderInfo); 
ldr.load(new URLRequest("b.swf")); 
function ConfigureListeners(dispatcher:IEventDispatcher):void { 
dispatcher.addEventListener(Event.COMPLETE, CompleteHandler); 

function CompleteHandler(e : Event):void { 
this.addChild(e.target["content"]); 
// 调用b.swf中的方法 
e.target["content"].getP(this); 
}
在b.swf的文档类或者时间轴上这么写:

参考代码:


function getP(p:Object):void{ 
// 访问a.swf中的变量ab 
trace(p.ab); 
}

这样就OK了~

上一篇:FLASH AS3 XML的应用   下一篇:如何获取flash地址的小总结
收藏此页】【打印】【关闭
 相关文章  我要点评
·HTML5最终战胜Flash 或引领新一轮科技革命
·投资者保护主题公益广告网上FLASH征集大赛启动
·Adobe CEO:与苹果的Flash争议已结束
·谷歌将启动Flash内容即时预览
·Flash广告设计要素
·YouTube力挺WebM视频格式 Flash遭受重创
·5千/1万元 帅康厨房七宝卡通/Flash大赛
·报告称去年全球八成Flash游戏开发者获收入

免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请联络:68design#163.com
转载要求:作者及来源信息必需保留。转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印。



关于我们 | 设计服务 | 广告服务 | 常见问题 | 网站地图 | 法律声明 | 联系我们
Copyright © 2003-2012 68design.net, All Rights Reserve 【找网页设计师,当然上网页设计师联盟】