快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Flash Action attachMovie外部swf中的元素

相信大家都用过attachMovie这个语句,可以方便的绑定库中带Linkage输出的元素, 在一些游戏以及交互程度比较高的网站中常常会用到。 那么这里就碰到一个问题,如果我在sub.fla库里面用linkage设定了几个元素, 然后想在main.fla里面attachMovie这几个元素,该如何处理尼?

第一种方式,main.fla使用 loadMovie(); 或 loadMovieNum();先导入 sub.swf, 然后导入完成后,再使用attachMovie来绑定元素。 但是这种方式,使用受到一个很大的限制,就是只能在 loadMovieNum()语句导入所在的层,或者loadMovie()语句导入所在的mc上面使用attachMovie, 比如:

loadMovieNum("sub.swf",1);
_level1.attachMovie("cc","cc1",5);

是有效的

 loadMovieNum("sub.swf",1);
_level0.attachMovie("cc","cc1",5);

是无效的

同样:

loadMovie("sub.swf", "abc");
_root.abc.attachMovie("cc", "cc2", 50);

是有效的

loadMovie("sub.swf", "abc");
_root.attachMovie("cc", "cc2", 50);

是无效的

第二种方式,使用Export for runtime sharing的方法,方式如下:

在sub.fla中,设置好需要attach元素的 Linkage值,并选定 Export for ActionScript  以及 Export in first frame这两项
然后,在sub.fla中新建一个空的mc, 在库中设置这个空mc的linkage值为 ext  ,选定 Export in first frame 以及 export for runtime sharing, URL这一项则填写为 sub.swf 如图:

Flash Action attachMovie外部swf中的元素

在main.fla中,新建一个空的mc,在库中设置这个空mc的linkage值为 ext ,然后选定 Import for runtime sharing , URL一项填为 sub.swf 如图:

Flash Action attachMovie外部swf中的元素

然后在main.fla中,再新建一个mc,从库中把刚才的ext这个空mc拖放到新建的这个mc中,然后把这个新mc任意设置一个linkage值,然后选定Export for ActionScript  以及 Export in first frame这两项。
做好以上的两步,就可以在main.fla里面任意attach sub.fla里面的可用元素了,比如:

attachMovie("cc","cc", 1);
attachMovie("bar","bar", 2);

第三种方式, 采用上面的第二种方式虽然已经很理想了,不过还是有一个限制,那就是必须编辑 sub.fla,加入 ext这个空mc, 那么有没有方式绕过去,可以不需要改动sub.fla,直接在main.fla里面做文章尼?  下面就介绍第三种实用方式:

假定我们现有一个tt.swf这个文件,里面库中设置了 linkage 为 a,b,c 的三个可用元素, 那么用下面的方式,可以不修改tt.fla,直接attach tt.swf里的这三个元素

我们打开主控文件mm.fla, 新建一个空mc,然后在库中设置linkage值为 a (或者b或者c,只要保持和tt.swf里面的某个linage值同名即可) ,然后选定 Import for runtime sharing , URL一项填为 tt.swf,如图:

Flash Action attachMovie外部swf中的元素

然后在mm.fla中,再新建一个mc,从库中把刚才的a这个空mc拖放到新建的这个mc中,然后把这个新mc任意设置一个linkage值,然后选定Export for ActionScript  以及 Export in first frame这两项。
然后就可以在mm.fla里面任意attach tt.fla里面的可用元素了,比如:

_root.attachMovie("c", "c", 1);
_root.attachMovie("a", "a", 11);
_root.attachMovie("b", "b", 111);

本教程第二以及第三种方式,提供源文件下载,有爱好可以到 下载(注源文件为flash8格式)


返回类别: Flash教程
上一教程: Flash中调用外部文本文件的两种方式
下一教程: 金鸡贺岁!Flash制作鸡年新春动画贺卡

您可以阅读与"Flash Action attachMovie外部swf中的元素"相关的教程:
· Flash5 ActionScript入门学习-Action Script中的变量
· Actionscript中的数组
· loadmovie后的swf里的元件的复制问题
· 同步加载多个外部swf代码整理
· Actionscript中的本地连接
    微笑服务 优质保证 索取样品