设为首页
加入收藏
联系站长
您现在的位置: 网贝 >> 建站学院 >> 图像动画 >> Flash >> 实例教学 >> 文章正文 用户登录 新用户注册
[组图]很逼真的鼠标跟随的鱼的做法讲解         ★★★★
很逼真的鼠标跟随的鱼的做法讲解
相关网站:
作者:AOL 文章来源:闪吧 点击数: 更新时间:2005-5-15

先看看效果图:

有没有动心呀?下载源文件吧!

FLA源文件

下载源文件之后打开,你可以看到主场景里面什么都没有,搞过一点flash的人一定会很奇怪吧。没关系慢慢来。 
 AOL用的是flash MX,所以以下是flash MX的图示,这个效果在flash 5中作法一样。 
 1.现立一个新的动画,将舞台设为384*384 pixels;backgroud颜色为#000066;framerate为48fps. 
 2.按ctrl+f8建立一个名为Cabeza的Movie clip(以后简称mc),画好鱼头。如图。 

 3.依上建立一个名为Aletas的mc表示鱼鳍,一个Espina的mc表示鱼身和鱼尾。如图。 
 鱼身和鱼尾 [IMG][/IMG]
 鱼鳍 

 4.最有技巧性的一步:用ctrl+L把资料库调出来,可以看到刚才建的那三个mc在这里。用右键分别点击这些mc,选择linkage这一项,打开linkage property属性面板,在Indentifine项中键入与该mc同名的链接词。复选框选择第一项和第四项。 
 如图。 
 
 5.回到主场景。分别在第一至第三帧加入如下actionscript(以后简称AS) 

 //--------------------------------------------------------- 
 //这是第一帧的as. 
 //-------------------------------------------------------- 

 _quality="MEDIUM"; // 选择动画质量适中,这样动画会运动得更快。 
 // 以下是各个部分的参数,你可以自己调一下数据会更清楚。 
 N = 20; // 鱼身的长度,也是expina有多少片. 
 R = 12; // 鱼头跟鼠标的速度。 
 C = 2; // 鱼身的连接速度,应该是这样表达吧,跟R也有关系。 
 A = 2; //鱼鳍片数。 
 // 以下参数供参考,可你让你更明白: 
 // ( N=20, R=12, C=2, A=2 ) 
 // ( N=30, R=12, C=1.5, A=-20 ) 
 // ( N=25, R=12, C=1.2, A=10 ) 
 // ( N=40, R=12, C=2.5, A=-4 ) 
 // ( N=40, R=12, C=2.2, A=2 ) 

 // 定义两个数组,表示坐标。 
 var x = new Array(); 
 var y = new Array(); 

 // 初始化 
 for (i=0;i
 // 构造一只鱼 
 for (i=1;i// 先造头,嘿嘿,说得有点儿怪(AOL摸了摸头)。 
 if (i==1) { 
 attachMovie("Cabeza", "Pieza"+i, N+1-i); 
 // 我们把两片鱼鳍放在鱼身的第四个和第十四个位置,你也可以选择放哪。 
 } else if ( (i==4) || (i==14) ) { 
 attachMovie("Aletas", "Pieza"+i, N+1-i); 
 // 剩下的位置留给鱼身。 
 } else { 
 attachMovie("Espina", "Pieza"+i, N+1-i); 
 } 
 this["Pieza"+i]._x = 142+x[i-1]; 
 this["Pieza"+i]._y = 142+y[i-1]; 
 //减小一点儿体积,增强鱼的透明度。 
 this["Pieza"+i]._xscale = 102+A*(1-i); 
 this["Pieza"+i]._yscale = 102+A*(1-i); 
 this["Pieza"+i]._alpha = 100-(100/N)*i; 
 } 

 //-------------------------------------------- 
 //这是第二帧的as. 
 //这是鱼怎么移动的帧。 
 //-------------------------------------------- 

 
 // 鱼头跟着鼠标动 
 x[0] = x[0]+(_xmouse-x[0]-142)/R; 
 y[0] = y[0]+(_ymouse-y[0]-142)/R; 

 // 其它的部分跟着动 
 for (i=1;ix[i] = x[i]+(x[i-1]-x[i])/C; 
 y[i] = y[i]+(y[i-1]-y[i])/C; 
 } 

 // 移动后的鱼的属性 
 for (i=1;i// 鱼的各部分所在的新位置 
 this["Pieza"+i]._x = 142+(x[i-1]+x[i])/2; 
 this["Pieza"+i]._y = 142+(y[i-1]+y[i])/2;; 
 // 计算鱼的转折角度 
 this["Pieza"+i]._rotation = 57.295778*Math.atan2((y[i]-y[i-1]),(x[i]-x[i-1])); 
 } 

 
 //-------------------------------- 
 //这是第三帧的as。 
 //回到第二帧,继续跟鼠标。 
 //-------------------------------- 
 gotoAndPlay (2); 

 按ctrl+enter测试,搞 定。

 

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    相关网站:

    文章 下载 图片
    普通文章[组图]发散的彩球教
    普通文章[组图]雪夜的作法讲
    普通文章[组图]很逼真的鼠标
    普通文章[图文]flash组件制作
    普通文章[组图]超级简单的网
    普通文章[组图]犀牛做棒球的
    普通文章制作无资料库电子贺
    普通文章flash结合asp制作出
    推荐文章[组图]Flash MX 200
    普通文章把手教你写私服列表
    普通文章WEB标准
    普通文章GOOGLE sitemap官方
    普通文章用php定制404错误页
    普通文章WAP(wml)开发问答
    普通文章[组图]PS教程系列:快
    普通文章时使用apache和IIS,
    普通文章[组图]2005年的第一
    推荐文章[组图]彻底掌握IIS6
    推荐文章[组图]CSS 全攻略
    推荐文章各种脚本错误详解!
    推荐文章直接生成XML的Googl
    推荐文章九个常见的错误原因
    推荐文章Win XP家用版也能装
    推荐文章JSP入门初级教程之J
    推荐文章ASP入门及提高
  • 发散的彩球教程

  • 雪夜的作法讲解

  • flash组件制作情

  • 犀牛做棒球的教程

  • 图片转场效果全教


  • 发散的彩球教程

    雪夜的作法讲解

    很逼真的鼠标跟随的

    超级简单的网页标题
    (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    Copyright © 2003-2005 NetBei.com All rights reserved.