AS3.0中,怎么将一个影片中的元件加载到另外一个影片中?

怎么将a.swf中的元件加载到b.swf中啊?as3.0代码来加载,请各路大侠帮帮忙!!!谢谢啦!!!补:如果要加载的元件不在场景中该怎么加载进来呢?(a.swf中要加载... 怎么将a.swf中的元件加载到b.swf中啊?
as3.0代码来加载,请各路大侠帮帮忙!!!谢谢啦!!!
补:如果要加载的元件不在场景中该怎么加载进来呢?
(a.swf中要加载的元件mc_a在另一个元件mc_c的内部,元件mc_c也没有放到场景中,这种情况下a.swf中的元件mc_a怎么加载到b.swf中去呢?)
展开
 我来答
小众喜好cj
2010-06-20 · TA获得超过871个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:0
展开全部
  1.首先假设a.swf的场景中有一个实例名为mc_a的MovieClip,你需要把这个mc_a加载到b.swf的场景中,并作为b.swf的中的一个名为mc_b的MovieClip。

  2.将a.swf放置在b.fla的同一目录下,并在b.fla的代码栏中添加如下代码。

  var loader:Loader = new Loader();
  var url:URLRequest = new URLRequest("a.swf");
  var mc_b:MovieClip;
  loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadCompleteHandle);
  loader.load(url);

  function onLoadCompleteHandle(e:Event):void{
  var mc:MovieClip = e.target.content as MovieClip;
  mc_b = mc.getChildByName("mc_a") as MovieClip;
  if(mc_b != null){
  this.addChild(mc_b);
  }
  }

  3.调试看结果,会发现a.swf中的mc_a已经被添加到b.swf中了,实例名为mc_b。

  4.注意,如果a.swf是由AS2.0环境下生成的,以上方法不适用。

  -----------------------------------------------
  如果不在场景的话,那么在b.swf中声明一个mc_b的公共变量,或者返回mc_b的公共方法,以便他的外部容器,也就是a.swf调用。
  具体一点:
  在b.swf中
  var mc_b:MovieClip = new MC_B();//具体类名由你的绑定类名决定,MC_B只是我的假设

  这样在a.swf中就可以通过如下的方式获取到b.swf中的MC_B类的实例了。

  ...//之前的代码同上
  function onLoadCompleteHandle(e:Event):void{
  var obj:Object= e.target.content as Object;
  mc_b = MovieClip(obj.mc_b);
  if(mc_b != null){
  this.addChild(mc_b);
  }
  }
cheweiqingb1b
2010-06-18 · TA获得超过494个赞
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:505万
展开全部
http://www.webjx.com/flash/actionscript-5889.html

classLoader类是专门为你这个问题量身设计的。

教程里 例子和类包都有。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式