教你用FLASH做漂亮的飞鸟效果动画

  效果演示:

  1.新建一个Flash文档,单击“属性”面板中的“尺寸”按钮,打开“文档属性”面板设置场景大小为350px x 300px,帧频为20fps。

  2.按快捷键Ctrl+F8新建一个名为“图片”的影片剪辑元件。按快捷键Ctrl+R打开“导入”面板导入一幅可以覆盖场景的山水图片。

  3.按快捷键Ctrl+L打开“库”面板,把“图片”元件拖拽到“场景1”中。点选场景中的“图片”元件,按快捷键Ctrl+K打开“对齐”面板,点击“相对于舞台”按钮,再点击“左对齐”和“上对齐”按钮。这样很容易就使“图片”元件覆盖住整个场景了。

  4.创建一个“飞鸟”影片剪辑元件。该元件的图层设置“左翅”层和“右翅”层利用“形状渐变”运动让两条线段可以模拟鸟翅膀煽动的运动。打开“洋葱皮”命令可以很清楚的看到了.在各帧中,线段只是角度不一样,以产生运动的效果。设置线段角度的变化可以按快捷键Ctrl+T打开“变形”面板进行辅助设置。

  5.按快捷键Ctrl+L打开“库”面板。右键点击“库”中的“飞鸟”元件,单击“链接”命令打开“链接属性”面板,(点选为动作脚本导出、在第一帧导出)。使用“链接属性”面板定义影片剪辑元件后,可以直接利用代码调用元件,而不必把元件拖拽到场景中。

  6.回到“场景1”,点选“图层 1”的第1帧,按F9键打开“动作”面板,输入如下代码:

// 飞鸟动画
damp = .95;
numbirds = 30;
for (i=0; i<numbirds; i++) {
bird = attachMovie("bird", "bird"+i, i);
bird._x = Math.random()*350+20;
bird._y = Math.random()*300+20;
bird.vx = Math.random()*10-5;
bird.vy = Math.random()*10-5;
bird.k = Math.random()*.0001+.0003;
bird.gotoAndPlay(Math.round(Math.random()*20));
}
onEnterFrame = function () {
var totx = 0;
var toty = 0;
for (i=0; i<numbirds; i++) {
bird = _root["bird"+i];
totx += bird._x;
toty += bird._y;
}
avgx = totx/numbirds;
avgy = toty/numbirds;
for (i=0; i<numbirds; i++) {
bird = _root["bird"+i];
bird.vx += (avgx-bird._x)*bird.k;
bird.vy += (avgy-bird._y)*bird.k;
bird.vx += Math.random()-.5;
bird.vy += Math.random()-.5;
bird.vx *= damp;
bird.vy *= damp;
targAngle = Math.atan2(bird.vy, bird.vx)*180/Math.PI;
diff = targAngle-bird._rotation;
if (diff<-180) {
diff += 360;
}
if (diff>180) {
diff -= 360;
}
bird._rotation += diff*.2;
bird._x += bird.vx;
bird._y += bird.vy;
}
}
  7.为了使该动画更有趣些,我们在以上的代码下,再添加如下代码:

// 鼠标动作
function drawToPoint(){
for(i=0;i<numbirds;i++){
bird=_root["bird"+i];
bird.vx+=(_xmouse-bird._x)*bird.k*100;
bird.vy+=(_ymouse-bird._y)*bird.k*100;
}
}
onMouseDown = drawToPoint;

时间: 2024-10-27 04:58:29

教你用FLASH做漂亮的飞鸟效果动画的相关文章

Flash精彩实例:爆炸效果动画

效果演示: 点击这里下载源文件 制作步骤: 很久以前看到了此篇教程,但是一直保存了其源代码,在网上查了半天没查到该教程,所以只有自己重新给大家做一个教程了! 首先,我们要打开Flash MX 2004.新建一场景动画,CTRL+J打开文档属性面板,设背景为黑色.帧速为24~48(随你高兴了,自己试试不同的帧速,只要自己觉得满意就行.) 1.按住Shift键在主场景中画一无边框正圆(大小在50×50象素左右),打开混色器面板在填充样式中选中放射性填充.将左右两个色块都设为白色,并将其外(右)侧的色

Flash制作逼真的电流效果动画

通过一个矩形的限制x轴,y轴运动,不断的复制,形成一个电流的模拟效果. 具体步骤 1,运行flash mx,设置文档属性为黑色背景,尺寸200*200像素. 2,新建一个影片剪辑命名为"方框".利用举行工具,绘制一个1.6*1像素的无边框矩形,进行渐变填充.如图1所示. 图1:绘制方框元件 3,导入一电流通过的模拟声音,并把此声音文件放置在影片剪辑"声音"中. 4,回到主场景,把影片剪辑"方框"拖放到场景中.在下面的属性面板中,给影片剪辑&quo

Flash制作递增遮照效果动画

演示效果: 点击这里下载源文件 首先找两个一样大小的图片 然后把导入到FLASH库里,先把图一拖入到场景里 转换成影片剪辑命名为1 然后在第80针插入关键针 新建图层2 把图片2转换成影片剪辑命名为2拖入到场景里放在第40针 然后在第40,80针插入关键针在它们之间创建补间动画 把第40针的图片ALPHA值调为0 新建图层3 在场景中新建一个影片剪辑命名为3 ,在影片剪辑3的属性里命名为mc.影片剪辑里第一针在画布左边画一个高400宽10的白色无边框矩形转换成元件 在第20针把元件宽调整为 50

Flash制作精美美女遮罩效果动画

先看看演示效果:(文章最后提供了源代码) 制作步骤: 1.首先选一张美女图片 然后用photoshop把美女抽出来 调整边缘使其平滑 如果不会 这里有png原文件 2.新建一个FLASH文档 大小根据你的图片决定 我的是440*600 帧速为40. 3.新建MC1命名为渐变 做一个150*600的由浅灰色过渡到透明的矩形长条: 做好后在场景中删除. 4.新建一个"zhezhao1"mc,打开MC  把第一层命名为"mm1"层,画一个和美女轮廓一样的灰色图形 并转换为

Flash制作漫天五彩星效果动画

效果演示: 实例说明 五彩的星星从天而降,这个动画具有节日气氛,动画的大小不到5K,可营造的效果变化万千,充分体现了脚本语句的强大功能.创建影片文档 1. 执行[文件]|[新建]命令,在弹出的对话框中选择[常规]|[Flash文档]选项后,设置背景为淡紫色,单击[确定]按钮. 2. 执行[插入]|[新建元件]命令,新建一个影片剪辑. 名称:星星. 3.在动画片段星星的编辑窗口中的图层一的第一帧,绘制一个星星图形. 4.接着,在第二十帧处按下F6键插入一个关键帧,选中该帧的星星图形,做适当的变形,

Flash制作切片式图片效果动画

图片效果 动画效果演示: 点击浏览该文件 昨天一个人问了类似于以上效果的制作方法 开始自己以为是将图片切成几部分去做的 后来发现不是这样的 这个是用遮罩效果做出来. 第一步,设置好场景的大小,我设置的是320*480 第二步,根据场景大小建立一个遮罩元件,大小为320*80,这样我用六个遮罩就可以将整个场景填满. 第三步,将图片设置为元件,拖入场景.将图片向上移动一段,然后做一个向下移动的动画,并设计亮度由100渐变到0.在图片上新建一层,放入遮罩,放在场景的最上方. 第四步,将两个层的帧复制,

Flash模仿制作毛笔写字效果动画实例教程

  1.首先新建一Flash文档,修改文档尺寸为,宽500,高350,设背景颜色为#006666.然后制作所需的元件: 制作卷轴: 点击插入菜单-选择"新建元件",在弹出的对话框上名称:填上"轴",行为:选择"图形"然后确定, 使用矩形工具,关闭颜色工具的边框,选择油漆筒,打开右边的混色器将颜色状态设置成线性,将线性渐变设置成如图所示, 用矩形工具画出卷轴主要部分,使用任意变形工具调整其形状并将中心小圆与小十字对齐,再用同样方法在上下两端画出黑色

Flash制作条形统计功能效果动画

统计 思路是: 1.制作一个mc,高度为1px吧.(注意坐标为居中,以方便后面定位.) 2.制作一个隐形按钮(即只点击区有内容,以使界面干净呗). 3.将上述两元件拖至场景中.其中mc的实例名为"zhu". 4.在场景建立一输入文本框,变量名为"shuru". 5.在第一帧加入代码: setProperty("zhu", _alpha, 0);//设置zhu剪辑的透明度为0(让其不可见) 5.在按钮上加入代码: on (press, keyPre

Flash轻松实现QQ翻滚效果动画

大家看看效果 : 代码如下: btn1.onPress=function(){//261 285 309 onEnterFrame=function(){ if(btn2._y<241){ btn2._y+=60; } if(btn2._y<261){ btn2._y+=10; } if(btn3._y<265){ btn3._y+=60; } if(btn3._y<285){ btn3._y+=10; } if(btn4._y<289){ btn4._y+=60; } if