频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用Flash制作简单的飞鸟动画

来源:PConline 作者:柳叶吹风 出处:巧巧读书 2005-10-31 进入讨论组
上一页 1 2 
访问 http://www.qqread.com/flash/d240392002.html

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

用Flash制作简单的飞鸟动画

图4

用Flash制作简单的飞鸟动画

图5

  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;

  添加这段代码后,按快捷键Ctrl+Enter测试。当鼠标点击动画,所有的“鸟儿”就会向鼠标点击的方向飞去,很酷。整个效果到这里就全部设计好了。


进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章