论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

MC的控制

文章类别:Flash | 发表日期:2008-9-21 20:12:19

  
在电影播的时候,你可以分别使用dulicateMovieClip和removeMovieClip动作创建和删除MC,从而作出看起来复杂的特效,使你的flash增色不少。
DuplicateMovieClip动作动态的为一个MC创建一个或多个新的实例,并分配给新的实例一个新的实例名,和深度。一个复制出的MC总是从第1帧开始播放,即使当它被复制时,原始的MC正处于其他的帧上,新复制的MC也从帧1播放,并且复制出的MC总是处于所有预定义的MC的上层。

duplicateMovieClip动作详解
====================================================================
duplicateMovieClip:在电影剪辑正在播放期间,创建一个它的复制品实例。
语法:duplicateMovieClip(target,newname,depth);
参数:target:要被复制的电影剪辑的目标路径;
newname:一个唯一的标识符,将要复制出的电影剪辑的名字;
depth: 电影剪辑的深度(depth level)。这个深度级实际上是一个堆叠顺序,它决定了当电影剪辑和其他的对象相互重叠时,他们将如何进行。你创建的第一个电影剪辑或是你拖动到舞台上的实例将被赋予一个0级深度。你必须给每一个后续的或复制出的电影剪辑一个不同深度级,以防它占用其他的电影剪辑正在使用的深度,那将导致原来的电影剪辑被替换。
/*使用removeMovieClip动作或方法来删除一个有duplicateMovieClip创建的电影剪辑实例。利用duplicateMovieClip和for循环可以做出慢动作效果*/
=====================================================================
(注重:原始MC中的变量不会被copy到新复制出的MC中)

要删除一个使用duplicateMovieClip创建的MC,需要使用removeMovieClip动作,假如原始的MC被删除了,复制出的MC也会被删除。

removeMovieClip动作详解
======================================================================
removeMovieClip:删除一个由duplicateMovieClip动作或是由MovieClip对象的attachMovie或duplicateMovieClip方法创建的电影剪辑实例。
语法:removeMovieClip(targer);
参数:target: 一个由duplicateMovieClip动作或是由MovieClip对象的attachMovie或duplicateMovieClip方法创建的电影剪辑实例的目标路径。
=====================================================================

下面我们通过一个例子细细品位一下;
当鼠标点击按钮时就复制一个fish,当按下D键时,将最后复制出的那条鱼卸装,假如继续按D键,则按复制顺序的逆序依次删除复制出的鱼。(先删除后复制的)
在主场景中放一个按钮,命名为button,在放一个鱼的MC命名fish,在button上加上如下语句:
=====================================================================
on(press)//点击按钮
{
i=i+1;//每次点击i加1
duplicateMovieClip(_root.myFish,"myFish"+i,i);//复制myFish,命名myFish+i
setproperty("_root.myFish"+i,_x,random(500));//设置新复制的MC的x坐标,在0~500之间的随机数
setproperty("_root.myFish"+i,_y,random(300));//设置新复制的MC的y坐标,在0~300之间的随机数
}

on (keyPress "d") //当按下D键时
{
removeMovieClip("_root.myFish"+i);//删除最后一次点击所复制的MC
if (i == 0)//假如i=0就什么也不做
{}
else //假如i不等于0
{if (i == undefined)//假如i=undefined则什么也不做,i没附值,此时MC是myFish,假如不要这句而直接执行i=i-1会出错,假设一进电影就按了2次以上D键,此时i不等于0就执行i=i-1,点击按钮就会复制一个myFish-1的MC,等到以后在按D键删除时会被i=0拦截,而删除不了myFish-1这个MC
{}
else {i = i-1;}
}
}
======================================================================

在上面语句中,在on(press中复制鱼,在on(KeyPress "d")中,假如条件满足,既按D键,则卸装名为"_root.nyFish"+i的鱼,(最后一个被复制的鱼),然后检查i是否等于0,假如等于0了,则什么也不做,假如不等于0且不等于undefined,则将i自减1。
看了上面这个实例,相信一定有所启发,别忘了多练习,还可以作出很多特效。

上一篇:{教程}图片的连续滚动 人气:5841
下一篇:{教程}鼠标特效之七彩星星Ⅱ 人气:1558
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058