中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 图形图象 > 网页设计 > Flash
用Flash制作简单的飞鸟动画
作者:未知 时间:2005-07-09 12:12 出处:ChinaZ.com 责编:chinaitpower
              摘要:用Flash制作简单的飞鸟动画
Flash动画中有的效果完全可以由代码控制并生成图像完成,譬如本文所要实现的效果就是通过一段并不复杂代码把两条线段变成一群活灵活现的飞鸟。再加上一幅图片,绝对能让你想起“千山鸟飞绝”的诗句,见效果图所示。



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

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



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



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



5.按快捷键Ctrl+L打开“库”面板。右键点击“库”中的“飞鸟”元件,单击“链接”命令打开“链接属性”面板,如图4所示,并如图5所示设置。使用“链接属性”面板定义影片剪辑元件后,可以直接利用代码调用元件,而不必把元件拖拽到场景中。





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

// 飞鸟动画
damp = .95;
numbirds = 30;
for (i=0; ibird = 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; ibird = _root["bird"+i];
totx += bird._x;
toty += bird._y;
}
avgx = totx/numbirds;
avgy = toty/numbirds;
for (i=0; ibird = _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;ibird=_root["bird"+i];
bird.vx+=(_xmouse-bird._x)*bird.k*100;
bird.vy+=(_ymouse-bird._y)*bird.k*100;
}
}
onMouseDown = drawToPoint;
  添加这段代码后,按快捷键Ctrl+Enter测试。当鼠标点击动画,所有的“鸟儿”就会向鼠标点击的方向飞去,很酷。整个效果到这里就全部设计好了。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有