2023信创独角兽企业100强
全世界各行各业联合起来,internet一定要实现!

通过鼠标特效认识FLASH5的Action(下)

2004-02-12 eNet&Ciweek

  做完前面那个例子后,我们稍加改动,就可以做出自己定制鼠标指针的效果,先把刚才做的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有了一定的了解了呢?如果你对Action有兴趣,欢迎通过Email与我交流,我的邮箱地址:vitalnet_yh@sina.com。

相关频道: eNews

您对本文或本站有任何意见,请在下方提交,谢谢!

投稿信箱:tougao@enet16.com