FLASH怎么制作动态的三角函数曲线?

FLASH中想啊哟制作三角函数的曲线,该怎么制作正弦曲线呢?下面我们就来看看详细的教程。

1、打开制作软件,新建AS3文档

2、新建一个影片剪辑,里面放一个红色的小圆形,位置如图。实例名设置为p_mc

3、在主时间轴加如下代码:

 

var num:Number=0;
var spd:Number=4;//位移速率
var start_y:Number=p_mc.y;
var max:Number=40;//位移幅度
this.addEventListener(Event.ENTER_FRAME,UpdateEvent);//给舞台添加帧频事件,更新舞台
function UpdateEvent(e:Event):void
{
num=num+spd;
p_mc.y=start_y+Math.sin(num*Math.PI/180)*max;//通过Math类的sin方法得到正弦值,并转化为影片剪辑的位移量
}

4、运行后可以看到影片剪辑上下移动。

5、接下来在代码中添加一个绘图方法,完成曲线的绘制。将影片剪辑的x坐标设置为0

6、代码修改如下:

 

var num:Number=0;
var spd:Number=2;//位移速率
var start_y:Number=p_mc.y;
var max:Number=60;//位移幅度
var shape:Shape=new Shape();//定义形状对象,绘制曲线使用
shape.x=p_mc.x;
addChild(shape);//将形状对象放到舞台上
shape.graphics.moveTo(0,p_mc.y);
shape.graphics.lineStyle(2, 0x000000, 1, false, LineScaleMode.VERTICAL,CapsStyle.NONE, JointStyle.MITER, 10);
this.addEventListener(Event.ENTER_FRAME,UpdateEvent);//给舞台添加帧频事件,更新舞台
function UpdateEvent(e:Event):void
{
num=num+spd;
shape.x+=spd;
shape.graphics.lineTo(0-shape.x,p_mc.y);//绘制方法
p_mc.y=start_y+Math.sin(num*Math.PI/180)*max;//通过Math类的sin方法得到正弦值,并转化为影片剪辑的位移量
}

7、运行后就可以看到不停的绘制正弦曲线了。

8、同样的,可以绘制余弦曲线

以上就是flash绘制正弦曲线的教程,希望大家喜欢,请继续关注来客网。