一只小鸟在花间自由地飞翔,忽上忽下,时快时慢,多么逍遥。这样的效果怎样实现呢?下面笔者就通过Flash来实现小鸟自由飞翔的效果。
1. 新建一个名为Bird的MC(影片剪辑),用逐帧动画制作一只小鸟原地拍翅膀飞的动画(如图)。
2. 在场景中新建一个层,导入背景(花丛),根据需要适当做一些修饰。
3. 在场景中新建一个名为bird的层,添加两个Bird实例到场景中,一个命名为fly1;另外一个通过变形翻转过来,变成反方向飞,命名为fly2;将两个实例重叠在一起。
单击bird层时间轴第一帧,输入以下代码:
qian=xia=xjia=yjia=true;
//定义几个布尔量,并设初值为真
i=random(8);
j=random(8);
//定义小鸟飞行的初速度
fly2._alpha=0;
//隐藏向左飞的小鸟
4. 单击时间轴第二帧,按F6插入一关键帧,输入代码:
if (xjia==true){
//x轴方向加速
if (i<=12){i+=1;}
else {xjia=false;} }
else {if (i>=0){i-=1}
else {xjia=true; i=random(8);} };
if (yjia==true){
if (j<=12){j+=1;}
else {yjia=false;}}
else {if (j>=0){j-=1}
else {yjia=true; y=rand
om(8);} };
if (qian==true){
//当小鸟向右飞行
fly1._alpha=100;
//头向右的小鸟显示
fly2._alpha=0;
if (fly1._x<=400){
fly1._x=fly2._x+=i;
if (xia){
if (fly1._y<=300){fly1._y=
fly2._y+=j;}
else {xia=false;}; };
if (xia==false){
if (fly1._y>=20){fly1._y=
fly2._y-=j;}
else {xia=true;}; };
}
else {qian=false;};
};
if (qian==false){
fly1._alpha=0;
fly2._alpha=100;
if (fly1._x>=30){
fly1._x=fly2._x-=i;
if (xia){
if (fly1._y<=560){fly1._y=
fly2._y+=j; }
else {xia=false;}; };
if (xia==false){
if (fly1._y>=20){fly1._y=
fly2._y-=j;}
else {xia=true;}; };
}
else {qian=true;};
};
5. 单击时间轴第三帧按F6插入关键帧,输入以下代码:gotoAndPlay(2);与第二帧形成循环。
至此,动画制作完成。