Flash AS 入门 鼠标跟随的应用实现

所属分类: 媒体动画 / Flash教程 阅读数: 40
收藏 0 赞 0 分享

  这篇教程为“Flash AS 入门教程”的一部分。查看全套教程>>>>。

  源文件下载

  本节应掌握的知识要点:

  ① startDrag和stopDrag应用;②with 语句应用;

  鼠标拖拽也是使用比较多的特效形式,这一节我们将学习一个简单的鼠标拖拽动画。要学习以下几个新的语句:

  startDrag();动作,使目标影片剪辑在影片播放过程中可拖动。语法格式是:

  myMovieClip.startDrag(lock, left, top, right, bottom);

  myMovieClip 要拖动的影片剪辑实例名。

  Lock 是一个用true或false表示的布尔值,true指定可拖动的影片剪辑锁定到鼠标位置中央,false则为不锁定。

  left, top, right, bottom 参数是 相对于影片剪辑的父级坐标的值,可以设置这些值来指定该影片剪辑拖动的左、上、右、下的矩形范围。

  小括号中的这些参数是可选的。

  stopDrag() 停止拖动当前影片剪辑(不需要参数)

  with 语句,可以在小括号中指定对象(比如影片剪辑)作为参数,并使用大括号中的语句计算该对象中的表达式和动作。使用with语句,可以简化代码的书写。语法格式是:

  with (动作脚本对象或影片剪辑的一个实例。) {

  一个动作或一组动作。 }

  请看示例动画“实例1-9”。

  >>>>>点击查看动画效果<<<<<

  实例1-9 鼠标跟随

  这是一个及其简单的鼠标拖拽效果,画面上一串彩色星星随着鼠标的移动而翻卷摆动,当我们点击一下右下角的按钮鼠标,星星就不再跟随着鼠标移动,而定位在了刚才点击鼠标的位置,当把鼠标滑过按钮,星星又处于被拖拽状态了。实现这个效果其实非常简单。

  看看源文件,库中有两个影片剪辑和一个按钮,xing1是一个星图形的移动渐隐补间动画,xing2中嵌套了几个分别改变了色调的xing1的实例。

  主场景上共3帧,有【按钮】、【mc】和【as】三个图层,【mc】图层上放置的是xing2影片剪辑,其实例名为“xing_mc”,【as】图层上和按钮实例上分别添加了如下语句:

  【as】图层上的语句:

  第1帧

  i = 0;

  xing_mc._visible = 0;// 设置影片剪辑不可见

  xing_mc.startDrag(true,0,0,550,400);

  //在 (0,0)至 (550,400) 的矩形范围内拖拽xing_mc影片剪辑。

  第2帧:

  i = i+1; //变量i每次加1

  if (i<=36) { //设置条件i小于或者等于36

  xin_mc.duplicateMovieClip("xin_mc"+i, i);//以新名称"xin_mc"+i,层深度为i复制影片剪辑

  with (_root["xing_mc"+i]) {//定义数组对象_root["xin_mc"+i]为with语句的参数

  _rotation = i*20; //设置新复制影片剪辑的旋转度数

  _xscale = xin_mc._xscale+i*5;//设置新复制影片剪辑的横向缩放比例

  _yscale = xin_mc._yscale+i*5;//设置新复制影片剪辑的纵向缩放比例

  }

  } else {

  i = 0; //如果不满足if语句里的条件,则i=0

  }

  第3帧

  gotoAndPlay(2);

  这段程序的流程很简单,是前面已经学习过的知识,一开始在第1帧定义变量i的初始值为0,设置场景上的影片剪辑实例不可见,并在一个矩形范围内可以由鼠标拖拽。

  第2帧先由表达式i=i+1将i的值计算为1,再按照if语句里设定的条件进行判断,符合当i的值小于或等于36条件时就执行大括号“{}”里面的语句块,复制xing_mc影片剪辑,由参数sing_mc+i计算出第1次新复制的影片剪辑名为xing_mc1,并由参数i分配其层深度为1;再由with里面的语句计算出让新复制的影片剪辑顺时针旋转20度,纵横向等比例放大5个百分点。

  第一次执行完后,再由第3帧上的语句指令播放头返回第2帧,于是再第二次进行判断并复制影片剪辑,每一次反复时i的值递增1,直至超出设定的条件后由else里面的语句将变量i重新定义为0。

  然后再重复上面的判断复制过程,如此反复。

  由于在第1帧上设置了作为复制父本的影片剪辑由鼠标拖拽,而新复制出的影片剪辑的坐标位置默认是与父本的坐标一致,所以每次新复制出的影片剪辑的坐标位置就会由当时父本影片剪辑的位置而定,这样就形成了无数彩色星星跟随着鼠标翻卷摆动的动画效果。

  第2帧出现了一个with语句,利用这个语句,将影片剪辑或其它对象的引用作为其参数,可以简化程序语句的书写,不必在大括号中的每一行语句前面重复书写对象的名称。

  如果不用with语句,要为新复制出的影片剪辑设置属性就应该写成:

  _root["xin_mc"+i]._rotation = i*20;

  _root["xin_mc"+i]._xscale = xin_mc._xscale+i*5;

  _root["xin_mc"+i]._yscale = xin_mc._yscale+i*5;

  当用with语句为相同对象设置指令时,语句行越多就越显其优势。

  执行了startDrag语句,就可以使指定的影片剪辑在动画播放过程中保持可拖动状态,一次只能拖动一个影片剪辑。直到执行 stopDrag() 停止拖动为止。或直到对其它影片剪辑调用了 startDrag() 动作为止。

  现在看看按钮上的语句:

  on (rollOver) {

  xing_mc.startDrag(true,0,0,550,400); //鼠标滑过按钮时拖拽影片剪辑

  }

  on (release) {

  stopDrag(); //点击按钮时停止拖拽当前影片剪辑

  }

  通过鼠标滑过按钮和点击鼠标,就可以切换xing_mc影片剪辑的拖拽状态。

  课后练习:素材源文件下载

  下载课后练习素材源文件,按照以下要求做一个鼠标拖拽动画:

  1.动画开始播放时,将场景上的小松鼠翻转身,由面朝右方变为面朝左方(提示:缩放比例为-100,或者将缩放比例乘以-1);执行拖拽小松鼠影片剪辑,锁定鼠标中心,设置拖动范围在场景尺寸之内;隐藏场景上的小松鼠影片剪辑实例。

  2.用if语句定义条件复制出8个小松鼠影片剪辑,在with语句内设置新复制的影片剪辑的横坐标位置按50像素递增,高度和宽度均按4个像素递减。

  3.在右下角的按钮上添加语句,实现当鼠标点击按钮时停止拖拽小松鼠,并开始在场景范围内拖拽右下角的彩环;当鼠标滑过按钮时,停止拖拽彩环,开始在场景范围内拖拽小松鼠。

  4.提示:别忘了定义并初始化变量;

  >>>>>点击查看动画效果<<<<<

  课后练习1-9效果:

  这篇教程为“Flash AS 入门教程”的一部分。查看全套教程>>>>。

更多精彩内容其他人还在看

Flash cs3绘制人物高级行走动画教程

本教程向大家介绍Flash cs3绘制人物高级行走动画效果,教程难度不是很大,绘制方法及过程介绍的也非常详细,教程很实用,转发过来,希望大家喜欢
收藏 0 赞 0 分享

Flash CS4来制作漂亮的气泡动画教程

本教程向脚本之家的朋友介绍用Flash CS4来制作漂亮的气泡动画,制作出来气泡真的很好看,制作效果是采用代码形式实现,觉得很不错,转发过来,感兴趣的朋友可以一起来学习
收藏 0 赞 0 分享

flash基础教程:帧、关键帧、空白帧概念及区别介绍

动画的产生是帧来实现的,那什么是帧?帧、关键帧和空白帧之间又有什么区别?本文就为大家介绍一下三者之间的关系
收藏 0 赞 0 分享

Flash教程:动画背景的绘制方法之透视篇(给新手)

Flash动画在网络上的广泛传播,已经成为上网一族喜闻乐见的一种艺术形式。动画背景的绘制方法有很多,也有很多表现方法。这里将结合透视学的基础知识向大家简单的介绍一下动画背景的绘制。
收藏 0 赞 0 分享

Flash AS入门教程:Flash AS3.0制作有年份有日期的时钟

本教程是向大家介绍利用Flash AS3.0制作有年份有日期的时钟,虽然制作时钟老套了点,但它确可以较全面地应用到时间日期和间隔等知识,仍不失为较好的入门练习,转发给大家,希望对大家有所帮助
收藏 0 赞 0 分享

Flash相册制作大师具体该如何使用 Flash相册制作大师使用教程

在本文中我们将会看到的是Flash相册制作大师的具体使用的方法
收藏 0 赞 0 分享

flash基础教程:混色器面板图文介绍

混色器面板是Flash中用于色彩处理的一个重要面板,熟练地使用该面板,可以帮助用户快速地完成色彩的填充,编辑出色彩丰富的图形。本教程为大家详细介绍一下混色器面板,希望对大家有所帮助
收藏 0 赞 0 分享

25个绝对让你应接不暇的Flash网站创意

在Web设计过程中,运用成熟的Flash技术可以把你任意想到的idea表现到产品页面中。这里为你整理发现了25个绝对让你应接不暇的 Flash网站创意,更好地体现网站的互动应用,同时可以让你大饱眼福,一起来欣赏吧
收藏 0 赞 0 分享

教你用Flash制作非常酷的二进制时钟动画

今天在这个教程中我们将学习用Flash做一个不同寻常的,但非常酷的时钟:一个二进制时钟,中间用到了代码,但介绍地很详细,相信很值得大家学习
收藏 0 赞 0 分享

Flash动画特效制作技巧:制作超酷的文字炸开动画效果

本教程向大家介绍Flash动画特效制作技巧,本实例是制作文字炸开的动画效果,制作效果非常酷,制作过程也比较简单,喜欢的朋友可以过来学习一下这种制作方法
收藏 0 赞 0 分享
查看更多