演示效果:
点击这里下载源文件
知识点:
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、导出测试。