通过鼠标特效认识 FLASH5 的 Action-网站制作-3P代码网
繁体中文
设为首页
加入收藏
当前位置:网站制作首页 >> Flash教程 >> 通过鼠标特效认识 FLASH5 的 Action

通过鼠标特效认识 FLASH5 的 Action

2007-09-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:我们经常在精彩的Flash网站里看到神奇有趣的鼠标特效,如动画跟随鼠标移动,鼠标指针变换,动画或图片根据鼠标的位置移动变形等等,这些特效都是用Flash中的Action功能实现的,而Macromedia公司最新出品的Flash5...

我们经常在精彩的Flash网站里看到神奇有趣的鼠标特效,如动画跟随鼠标移动,鼠标指针变换,动画或图片根据鼠标的位置移动变形等等,这些特效都是用Flash中的Action功能实现的,而Macromedia公司最新出品的Flash5软件更新的最多的功能也正是Action。这就实现了我们这些初级闪客更简单方便的做出Flash鼠标特效的梦想,也使高级闪客能做出更眩更酷的超级鼠标特效!好吧,闲话少说,现在就让我们打开Flash5,进入Action的世界吧!

首先,让我们对Action的使用有一个简单的了解。Action一般在两个地方存在,一是在按钮(Button)和影片剪辑(Movie Clip)中,二是在场景(Scene)或组件(Symbol)的帧(Frame)里,当我们在他们上面单击右键弹出菜单时就可以看到动作(action)这一项了。

在Flash5中,进入Action编辑窗口,在窗口左边是全部Action的列表,我们通过双击就可以添加Action了。点击窗口左上角的右箭头可以看到Action的编辑方式有两种模式:标准模式(Normal Mode)和专家模式(Expert Mode)。

Expert Mode是Flash5的一个新功能,能让熟悉Action的高级闪客更快捷的编辑Action的源代码 。我们一般选用Normal Mode,在这种方式下,当我们添加或者选中每一条Action,在窗口下面都会出现关于这条Action的参数选项。

为了熟悉Action操作,我们先做一个最简单的鼠标跟随例子,新建一个文件先做一个Movie Clip(注意:Button和Graphic是不能直接做鼠标跟随的,只能插在Movie Clip中才可以),然后把他托放到scene1中,用右键点击他,然后在弹出菜单中选择面板(Panel)>实例(Instance)

然后编辑scene1第一帧的Action,在左边的列表中选中Action> StartDrag,在参数目标(target)中填入场景中的Movie Clip的名称movie1,再选中复选框"锁定鼠标到中央"。

按Ctrl+Enter预览,这样一个最简单的鼠标跟随就做成了!怎么样,是不是非常的简单呀。

做完前面那个例子后,我们稍加改动,就可以做出自己定制鼠标指针的效果,先把刚才做的Movie Clip改成自己定制的鼠标指针动画,然后全部按上个例子做好,在第一帧的Action中选择列表中的对象>鼠标>hide。

不用加任何参数就完成了。

前一个例子中的鼠标指针只要Flash动画开始播放就变成自己定制的效果了,而我们在很多Flash网站中看到的效果并不是这样,而是当鼠标移动到按钮上或指定位置上才出现定制的效果,这又是怎样制做成的呢?通过学习制作这个效果,我们又能学到几条重要的Action。让我们再次打开刚才的例子,按Ctrl+L调出这个例子的符号库,然后按Ctrl+N新建一个文件,把刚才那个例子的符号库中的鼠标指针动画Movie Clip托放到场景中,但是位置要放在灰色的场景镜头以外区域,把它取名为newmouse(注意:这个名字不能改成mouse,否则在执行Action时会产生错误),然后按Ctrl+F8新建一个Button,把这个Button做好后,放到主场景的一个新的图层里,编辑它的Action,加入StartDrag,填入对象名称newmouse,选中复选框"锁定鼠标到中央",我们发现在StartDrag这行上面还有一条Action:"on (release) {",选中这条Action把下边的复选框中的释放(release)勾去,选中指针经过(rollOver)。

这样就把StartDrag的触发条件由鼠标指针释放时触发改为了鼠标指针经过时触发。按上个例子的方法在这个条件下加上Action:"Mouse.hide();"。选中此时的最后一行Action:"}",加入动作StopDrag,把触发条件改为指针离开(rollOut),在这个条件下在加入对象>鼠标>show,这时这个特效就基本完成了,但是我们预览时会发现一个问题,当我们把鼠标从按钮上移开时,刚才我们定制的鼠标指针动画并没有消失,而是停在了按钮的边缘上。

这就需要我们利用另外一个Action把这个鼠标指针动画从镜头里移开。我们再次编辑按钮的Action,在指针离开的触发条件下再加入另外一条Action:动作>setProperty,函数属性选择_x(X轴),目标填入newmouse,数值填入1000(你建的场景宽度不会比这个还大吧?)

这次再预览,怎么样,问题解决了!

这次我们要做点什么呢?还是鼠标跟随,但是这次这个鼠标跟随和我们讲的第一个例子有些不同。

 

现在我们就开始制作它!先制作一个Movie Clip动画,在最后一帧中编辑Action,加入Action>Stop,把它托放到场景中镜头外区域,取名为movie:,编辑第一帧的Action,这次我们按Ctrl+E选择专家模式(在熟练掌握Action后,这种方式更快捷),输入以下代码:

duplicateMovieClip ("/movie:", "movie:" add num, Number(num));

setProperty ("movie:" add num, _y, _ymouse);

setProperty ("movie:" add num, _x, _xmouse);

num = Number(num)+1;

if (num>10) {

num = 0;

然后按F6复制这个帧3次,编辑最后一帧的Action选择基本动作中的转到(gotoAndplay),保持默认参数,预览完成。让我们分析一下这段Action代码吧:

duplicateMovieClip ("/movie1", "movie1" add num, Number(num));

是复制场景中的对象movie1,把它的名字分别命名为"movie:"加变量num的形式,放在不同的深度;

setProperty ("movie:" add num, _y, _ymouse);

setProperty ("movie:" add num, _x, _xmouse);

这两句设定了新复制的Movie clip的横纵坐标为鼠标当前位置;

num = Number(num)+1;

变量num的累加不停复制Movie clip;

为了防止复制过多,导致资源过度占用,通过if (num>10) {num = 0;}控制Movie clip的最大复制数量。

怎么样,只要你稍懂一些编程知识,就能理解这些Action代码吧,如果你是编程高手,那你就可以利用不同的数学公式做出复杂的Action程序,从而实现惊人的特殊效果! 好了,鼠标特效特效我们就介绍这么多了,你是否对Flash5的Action有了一定的了解了呢?

责任编辑:admin
相关文章