我们已经学过复制影片duplicateMovieClip(),今天我们来认识attachMovie,它的作用是加载影片,从影片库中加载影片. 
我用的比较少,所以不是很熟悉.呵呵,应该说因为不熟悉,所以用的比较少. 
不过如果能灵活掌握它的话,做起动画讲更方便.看看源文件解析的第一个就知道了.今天我们只来了解,为了是方便你在看别人的源文件的时候有个印象. 
它的用法和复制影片的几乎是一样的,不同的是它加载的影片来自库. 
myMovieClip.attachMovie( idName, newName, depth);//idName库中影片的名字,newName加载后影片的新名字,depth新影片的深度. 
我们来给库中的影片命名:库中有影片mc,在库中点mc点右键-------->linkage 在弹出的面板中,在export for ActionScript前面打勾,然后在上面的文本中输入名字,就可以用attachMovie加载了. 
例如输入的名字为at; 
_root.attachMovie("at",newat,1);//把影片at加载到场景中,新名字为newat,深度为1.不过一定要注意at,两边要有引号" 
再来认识:myMovieClip.swapDepths(depth) ;//用来控制影片的深度. 
举个例子:mc.swapDepths(100);//把影片mc的深度为100,如果这个深度上有影片,那么就交换深度.原来100上的影片深度改为是mc影片交换前的深度. 
下面我们看例题,呵呵,没有什么东西,不过我觉得还有点意思,毕竟是自己做的 
[attach]24410[/attach]
先看库中影片mc,很好做,自己做.最上面一层是按扭,要和下面的方框一样大.我们看上面的代码: 
on(release){ 
this.swapDepths(100);//点击按扭该影片的深度变为100. 
} 
前面的深度问题相信你已经明白了,这里的是为了点击后影片在最前边. 
回到场景我们看第一帧: 
for(i=1;i<=3;i++){ 
_root.attachMovie("mc","mc" add i,i+1); 
_root["mc" add i]._x=80*i; 
_root["mc" add i]._y=80*i; 
_root["mc" add i].gotoAndStop(i); 
} 
把影片mc从库中加载三次,深度分别是1,2,3;根据横纵坐标属性调整位置,避免他们完全重合;让加载的影片停留在不同的帧,显示不同的画面. 
这样加载的三个影片显示三个画面,有不同的深度,显示有先后.有按扭上面代码交换深度100,所以点哪个影片,哪个影片就显示在最上面. 
今天没有作业,能基本上明白这一讲的意思就可以 
第十五讲讲课要点:
第十五讲 影片的深度级别和链接命令
我们在学习影片的复制时,初步了解了影片深度的概念。深度级别可以看作场景中的图层级别,深度数字大的影片在深度数字小的影片之上。如果在同一个坐标位置的话,深度数字大的影片会遮住深度数字小的影片。
一、my_mc.swapDepths() 设置影片深度和my_mc.getDepth()取得影片深度
1、my_mc.swapDepths(depth)[或者my_mc.swapDepths(target)]的意义:
设置影片的深度级别或者交换指定影片的深度。交换影片剪辑的深度级别的作用是将一个影片剪辑移到另一个影片剪辑的前面或后面。这个命令可以在 内置类\影片\MovieClip\方法中找到。
2、如果参数(depth)是一个数字,那么就是设置影片my_mc的深度级别,如果在这个深度级别上有影片,那么就和这个影片交换深度;
如果参数(target)是一个字符串,那么这个字符串表示的影片的深度将被 my_mc 的深度交换。需要注意的是,交换深度的这两个影片必须具有相同的父级影片剪辑。
3、my_mc.getDepth():取得影片深度,得到影片深度的一个数字
4、例题1
我们看例题1的源文件:(这是幽幽版主为我们提供的,关于交换深度级别应用的一实例)在这个实例中,地球运行到太阳后面的时候,地球被太阳遮住,反过来,当地球在太阳前面时,太阳不能遮住地球。所以,在地球快运行到太阳后面时,需要先交换它们的深度级别,当地球从太阳后面出来的时候,又要交换它们的深度。
注意,在场景中可以见到,太阳和地球都在主时间轴上,他们具有相同的父级影片,这是能够交换深度的前提。双击地球影片(run),在影片 run的时间轴上,地球在做绕太阳旋转的补间运动。在第1帧我们看到有脚本:
this.swapDepths(_root.sun); //这里的参数是一个字符串,是表示太阳影片。所以是在进入太阳背后之前交换深度。
在30帧又有同样的脚本:
this.swapDepths(_root.sun);//再次和太阳交换深度,如果没有这一句,那么看不到它在地球前面的现象了(在补间运动的一次运行中)
二、attachMovie()是加载库里影片的命令,它的用法和作用都和复制duplicateMovieClip()命令类同。在软件2004中,可以在内置类\影片\MovieClip\方法中找到。
my_mc.attachMovie(idName, newName, depth [, initObject])的参数意义和用法
1、idName:要加载的影片名称,这个名称是在库里链接时的名称。这是在“链接属性”对话框中的“标识符”字段中输入的名称。 
2、newName:影片链接后使用的名称;
3、depth:一个整数,指定链接后影片所放位置的深度级别;
三、例题
在场景中没有元件,只有一帧空白关键帧,是写代码用的。
1、观察影片元件mc
单击右上部的“元件编辑”,选中mc.在mc的时间轴上共有三层:最下一层的三帧分别是三个不同色采的矩形;中间一层是的三帧分别是A、B、C;最上一层是一个按扭,从第1帧延长到第3帧。
在按扭上的脚本:
on(release){ //当按下并松开按扭时;
this.swapDepths(100);//设置(这一帧上)影片深度为100;
}
2、观察库里的元件mc的链接:
单击《窗口》,选中《库》,右击mc,选中《链接》;在链接属性中,在《标识符》中的名称为mc, 在链接选项中,选中的是第1项:为动作脚本导出,和第4项:在第1帧导出。
3、场景帧上的脚本及意义:
for(i=1;i<=3;i++){ //循环语句(循环三次)
_root.attachMovie("mc","mc"+i,i);//链接库里的影片mc,注意,这里的mc 必须加双引号;链接到场景的影片名称为mc1.mc2,mc3;深度分别是1,2,3。
_root["mc" + i]._x=80*i;//给被链接的影片不同的坐标,防止前两个被完全遮住;
_root["mc"+i]._y=80*i;
_root["mc"+i].gotoAndStop(i); //让链接的影片停留在不同的帧(显示不同的字母)
}
因为是在场景的第1帧链接的影片,由于循环语句的作用,相当于在第一帧链接了3个mc.我们才可以同时看到这3个影片。链接的影片停留在不同的帧,点击影片,那么,因为影片所在的按扭的命令,这个影片的深度就会设置为100,如果深度为100上有影片,那么那个影片的深度会被交换。所以,点击哪一个影片,那个影片就会在最上面。
按Ctrl+Enter测试。
4、attachMovie()和duplicateMovieClip()的比较
(1)attachMovie()中要加载的影片名称,必须是在库里炼接这个影片时的名称,duplicateMovieClip()中要复制的影片名称必须是在场景的属性中注册的名称;
(2)attachMovie()中要加载的影片不放进场景,duplicateMovieClip()中要复制的影片必须拖入场景;
(3)attachMovie()中要加载的影片名称必须加双引号,duplicateMovieClip()中要复制的影片必须注意使用路径。
三、作业
用duplicateMovieClip()命令改造例题,达到同样的效果。