案例2心跳模拟

首先为大家隆重推出一套flash常用算法:三角函数。在flash中我们可以使用Math.sin, Math.cos,Math.tan等求三角函数方法来计算一个弧度值。我们都学过数学,知道正弦余弦三角函数的函数图是怎样的,它们的三角函数值会随着角度不断增大而在-1到1之间不断变化,那么有没有感觉这和人的心跳有点类似呢?一下张一下缩的很有规律。那么我们就可以使用正弦和余弦函数进行心跳的模拟,很好玩哦~
    结果预览:http://www.iamsevent.com/upload/heartbeat.swf
     先用CS工具新建一个元件,画一个心(管它画得像不像),完成后从library里面将这个元件拖到舞台上给其设置个ID(就叫做myHeat吧),再在舞台第一帧插入以下脚本代码:

  1. var radians:Number=0.1;
  2. var range:Number=0.5;
  3. var speed:Number=0.3;
  4. this.addEventListener(Event.ENTER_FRAME,onJump);
  5. function onJump(event:Event):void{
  6.         //每个MovieClip类型都有scaleX和scaleY属性分别表示X与Y轴缩放比,1.0为原始长、宽,2.0为原长宽的两倍等等
  7.                 myHeat.scaleX = myHeat.scaleY = 1+Math.sin(radians)*range;  //由于Math.sin(radians)的值介于-1到1之间,则乘以range后值介于-range与range之间,range值设置越大变化幅度越大哦
  8.                 radians+=speed;//每一帧都需要把弧度加上一点,如果不这么做,Math.sin(radians)的值就不会在-1到1之间变化了,speed值设得越大,我们的“心”变化速度越快
  9. }
复制代码

以上代码很容易懂吧?呵呵,如果你做到了,恭喜你自己吧。

原文地址:https://www.cnblogs.com/keng333/p/2712304.html