FLASHMX2004AS实例:《开心快乐》

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

知识点:

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、导出测试。

效果如下:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航