FLASHMX2004AS实例:《开心快乐》

2008-04-02 11:06:49来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  知识点:

  1、帧帧动画的制作。

  2、attachMovie()的使用;

  3、swapDepths()的作用;

  4、用语句实现文字的运动。

  

  制作过程:


  一、制作元件。

  新建一个FLASH文档,大小默认,背景色任意。本实例一共用到两个影片剪辑,分别为xin和wenzi。

  1、制作xin元件:(1)执行插入菜单下新建元件命令,在名称中输入xin,行为选影片剪辑,确定。在工具面板中选取铅笔工具,在下面的选项面板中选平滑,在工作区绘制一个心形,大小约为130*90,用红黑径向填充填色,全居中。如图

  

  (2)新增一层,再绘制一个无边框的矩形,在混色器面板中,选取线性填充,增加一个色标,三个色标块中的颜色均选白色,并把两端的色块的透明度调为0,把矩形进行变形后放在心形上,如下图:

  

  (3)新增一层,选取文字工具,在属性面板中配置静态文本,字体任意,字号约为26号,黄色,输入“祝福朋友”,全居中,并复制一次,执行编缉菜单下的“粘贴到当前位置”,然后选取粘贴后的文字向下向右移动一像素,将文字改为灰色。如图:

  

  2、制作wenzi元件:

  (1)在第一层,选取矩形工具,笔触色选白色,在混色器面板中,选取填充色为“#999900”,透明度为60,绘制一个90*90的正方形,全居中,在第七帧插入普通帧。

  (2)新增一层。选取文字工具,字体为华文彩云,颜色为“#996600”,字号为82,在工作区输入“开”,全居中,将文字两次打散,用“#FFFFCC”颜色填充。分别在第2、3、4、5、6、7帧插入空白关键帧,在各帧中依次输入:心、愉、快、每、一、天。按“开”字的操作方法。完成其他文字的制作。

  3、右击库中的wenzi元件,选链接,在面板中的标识符后面输入:wenzi,并勾选在第一帧导出和为动作脚本导出。

  二、布置场景

  1、第一层从库中拖入xin,全居中,并在属性面板中为其取实例名:hh。

  2、新增一层,插入两个关键帧,在动作面板输入以下语句:

  第一帧:

  

num = 7;//加载文字的数量

  a = 275;//文字做椭圆形运动的X轴的中央

  b = 200;//文字做椭圆形运动的Y轴的中央

  rx =190;//文字做椭圆形运动的X轴的半径

  ry = 50;//文字做椭圆形运动的Y轴的半径

  n = 0;//用来计算运动速度的角度值

  angle=0;//用来计算运动速度的弧度值

  speed=0;//计算文字响应鼠标运动的速度增量

  for (i=1; i<=num; i ) {//从库中附加标识符名为wenzi的元件到舞台

  _root.attachMovie("wenzi", "wenzi" i, i);

  }

  hh.swapDepths(60);//调整hh的深度.

  第二帧:

  

/*鼠标在左:50,右:500,上:50;下:350的区域内时,重新为speed赋值(也就是鼠标距中央越近,此值越小,文字运动的越慢,反之越快)。假如鼠标没有在此区域,让n的值自动加1(也就是当文字运动的速度不和鼠标位置关联时,保持让其匀速运动),当n大于或等于360之后重新让其为1。*/

  if (_xmouse>50 && _xmouse<500 && _ymouse>50 && _ymouse<350) {

  speed = (275-_xmouse)*.08;

  n = speed;

  } else {

  n = (n<360) ? n 1 : 1;

  }

  for (i=1; i<=num; i ) {

  //angle是用来计算每一个文字运动中的角度,并将其转换为弧度值。

  angle = (i*360/num n)*Math.PI/180;

  //配置运动中的文字的x和y坐标的位置

  _root["wenzi" i]._x = a-rx*Math.cos(angle);

  _root["wenzi" i]._y = b-ry*Math.sin(angle);

  //配置文字运动中的缩放量

  _root["wenzi" i]._xscale = 10-100*Math.sin(angle);

  _root["wenzi" i]._yscale = 100-10*Math.sin(angle);

  //当文字的y坐标大于200时,交换文字的深度

  if (_root["wenzi" i]._y>200) {

  _root["wenzi" i].swapDepths(100 i);

  } else {

  _root["wenzi" i].swapDepths(10-i);

  }

  //让文字停在不同的帧中,这样才能看到不同的文字

  _root["wenzi" i].gotoAndStop(i);

  }

  第三帧:

  

gotoAndPlay(2);

  3、导出测试。

  效果如下:

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: FlashMX2004支持的HTML标签

下一篇: FlashMXProfessional2004V2组件的研发