Flash AS实现的蝌蚪摆尾动画的教程

所属分类: 媒体动画 / Flash教程 阅读数: 44
收藏 0 赞 0 分享
本例介绍使用Flash的AS编写蝌蚪摆尾动画效果,希望朋友们喜欢~~
 

 
场景里代码

复制代码
代码如下:

  Object.environment = this;
  Math.prototype.degrees = function (r)
  {
  return (r * 180 / 3.141593E+000);
  };
  maxtents = 3;
  this.onEnterFrame = function ()
  {
  if (!random(30) && tents < maxtents)
  {
  var nombre = "tent" + String(depth++);
  var neo = this.attachMovie("tentacle", nombre, depth);
  neo._x = random(600);
  neo._y = 370;
  neo.theta = 270;
  ++tents;
  } // end if
  };
  stop ()

#initclip 1

复制代码
代码如下:

  function TentacleClass()
  {
  this.numNodes = 27;
  this.head = 2 + random(4);
  this.girth = 8 + random(12);
  this.speedCoefficient = 9.000000E-002 + random(10) / 50;
  this.friction = 9.000000E-001 + random(10) / 100;
  this.muscleRange = 20 + random(50);
  this.muscleFreq = 1.000000E-001 + random(100) / 250;
  this.generateNodes();
  this.onEnterFrame = this.move;
  } // End of the function
  TentacleClass.prototype = new MovieClip();
  TentacleClass.prototype.generateNodes = function ()
  {
  this.node = new Array();
  var n = 0;
  while (n < this.numNodes)
  {
 
  var point = {x: 0, y: 0};
  this.node.push(point);
  ++n;
  } // end while
  };
  TentacleClass.prototype.move = function ()
  {
  this.tv = this.tv + 5.000000E-001 * (Math.random() - Math.random());
  this.theta = this.theta + this.tv;
  this.tv = this.tv * this.friction;
  this.node[0].x = this.head * Math.cos(1.745329E-002 * this.theta);
  this.node[0].y = this.head * Math.sin(1.745329E-002 * this.theta);
  this.count = this.count + this.muscleFreq;
  this.thetaMuscle = this.muscleRange * Math.sin(this.count);
  this.node[1].x = -this.head * Math.cos(1.745329E-002 * (this.theta + this.thetaMuscle));
  this.node[1].y = -this.head * Math.sin(1.745329E-002 * (this.theta + this.thetaMuscle));
  var i = 2;
  while (i < this.numNodes)
  {
  var dx = this.node.x - this.node[i - 2].x;
  var dy = this.node.y - this.node[i - 2].y;
  var d = Math.sqrt(dx * dx + dy * dy);
  this.node.x = this.node[i - 1].x + dx * this.girth / d;
  this.node.y = this.node[i - 1].y + dy * this.girth / d;
  if (i == 2)
  {
  this._x = this._x - dx * this.speedCoefficient;
  this._y = this._y - dy * this.speedCoefficient;
  if (this._x + this._width < 0    this._x - this._width > 600    this._y + this._height < 0    this._y - this._height > 400)
  {
  --Object.environment.tents;
  this.removeMovieClip();
  } // end if
  } // end if
  ++i;
  } // end while
  this.clear();
  this.moveTo(this.node[1].x, this.node[1].y);
  var i = 2;
  while (i < this.numNodes)
  {
  this.lineStyle(int(this.numNodes - i) * (this.numNodes - i) / 20, 16777215, 100);
  this.lineTo(this.node.x, this.node.y);
  ++i;
  } // end while
  };
  Object.registerClass("tentacle", TentacleClass);
  #endinitclip
更多精彩内容其他人还在看

轻松写Flash Media Server的ASC

忘记在Flash中和其他文本编辑器中写那些ASC的日子吧,也忘掉自己改xml配置开启debug功能的日子,在Flash Media Server中调试是件相当痛苦的事情,现在可以解脱了! Flash Media Server Eclipse Plugins:http://f
收藏 0 赞 0 分享

在网页中用Flash动画直接播放MP3音乐

  很多网页中都插有Flash播放代码,这不仅是为了页面元素的多样化,更是为了内容体现的需要。很多时候,我们会遇到这样的问题:根据需要使用Flash的script来读取不同的音频源或者视频源,那么如何实现这一功能呢?下面我们用改写<object>标签中的代码来实现。
收藏 0 赞 0 分享

Flash引导线制作雪花飘飘动画

  本文介绍在Flash中利用引导线制作雪花飘飘动画。   这种方法最笨但也效果最好,就是用“引导线”功能,让雪花不停的飘呀飘,如果多用几个图层,效果更好。   1、新建一个Flash影片。设背景为“黑色”,其他的
收藏 0 赞 0 分享

Flash轻松绘制动画中的矢量大树图

看看最终效果:(文章最后提供源文件下载) 前些日子,画小湖的时候。有朋友问到大树的画法。这里写一下,希望能对需要的朋友有所帮助。
收藏 0 赞 0 分享

Flash鼠绘Q版的小女孩

画人物是鼠绘中最累的。因为有很多是曲线。昨晚看到闪吧的清言画的那个流畅啊。真叫人羡慕啊。而且速度之快。用直线工具用得忒熟。 这个Q版小孩,从中午12:50开始画,到现在已经快下午4:00了,差不多花了4个小时,麻烦死了。不过,还好,总算大功告成。嘿嘿...虽说小孩看
收藏 0 赞 0 分享

Flash巧妙绘制卡通澳大利亚夏日海滩

本教程详细讲解了夏日海滩绘制过程,这是一个比较基础的flash教程,作者从最基本的开始讲起,包括文档的新建、颜色的调整、填充等等,都讲的详细而清楚明白,有兴趣的同学可以练习一下。   星期天,天气炎热。跑到办公室,做了会工作上的事情。感觉又有几天未手绘了。最
收藏 0 赞 0 分享

Flash CS3教程:绘制小奶瓶图标

  本教程从无到有的教你运用flash绘制奶瓶图标,教程本身并不难,只是步骤比较多,作者也做了细致的讲解,只需要你耐心的学习,如果有兴趣就动手试试吧。   先看看效果图吧: 效果图   首先我们从一个圆角的矩形开始,把它的底部调节成圆形。 图1
收藏 0 赞 0 分享

Flash绘画实例:青春靓丽美女

  使用软件:Flash 8.0(鼠绘费力不讨好的工具)   绘画时间:绘画吃饭喝水玩游戏聊天加起来5个小时左右。   绘画题目:依靠在窗边的女子(画面没什么深度,没什么内涵,仅仅画了个靠在窗户边的女子而已,教学嘛,不整那么深奥的东西。)   下面开始线稿步骤:
收藏 0 赞 0 分享

Flash也能制作特色小图标

  地震这几天邻居家小孩天天不上课闹着要教他flash。正好,好久也没做教程了拿出来分享一下吧,纯给新人练手,老鸟可以飞了。效果图如下:      第一步:先做橡皮那块.新建图层用矩形工具上圆角改为5,5下圆角为0,0画一个圆角矩形(数值根据自己的画布大小自己
收藏 0 赞 0 分享

制作Flash MTV前音乐和矢量素材的处理

Flash MTV制作的首要工作是做好充分的准备,多数人在决定做一个MTV以后,没有做好必要的准备工作就急于动手,往往是开头做得很快,但不久就会感到无从下手,不知所措。产生这个问题的根本原因就是因为准备工作做得不够充分,做一个Flash MTV不是一天两天能做出来的,准备工作
收藏 0 赞 0 分享
查看更多