iLeichun

当前位置: 首页 > Flash

flash的attachMovie使用方法

分类:Flash   来源:网络   时间:2010-11-20 14:41:17

先来看一些关于MovieClip.attachMovie的语法:
anyMovieClip.attachMovie(idName, newname, depth);

参数:
idName 要绑定的库中Movie的名字。这个名字就是元素的Linkage Properties对话框中输入的标识名。
newname 就是被绑定MC的实体名,必须是唯一的。
depth 一个整数值,用来指定MC所在的深度值。

说明:
方法;为库中的动画产生一个新的实体,并绑定指定的anyMovieClip中。使用 removeMovieClip 或者 unloadMovie 动作或者方法可以删除绑定的动画。
播放器:
Flash 5 或以后版本。

参考:
removeMovieClip
unloadMovie
MovieClip.removeMovieClip
MovieClip.unloadMovie

相信大家都用过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 如图:

在main.fla中,新建一个空的mc,在库中设置这个空mc的linkage值为 ext ,然后选定 Import for runtime sharing , URL一项填为 sub.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,

然后在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);

 

更多