WEB开发网
开发学院图形图像Flash [AS 功能代码教程03] 基础三角函数 阅读

[AS 功能代码教程03] 基础三角函数

 2009-05-30 12:07:29 来源:WEB开发网   
核心提示: Math.atan2(y,x)与Math.atan(n)功能相同只是返回值有所不同:atan2(x,y)的返回值为一个数字 atan(n)的返回值从 -PI/2 ~ PI/2<<< 以上是一些理论知识,下面来看一些具体的应用实例 >>>4.正弦实例:思路

Math.atan2(y,x)与Math.atan(n)功能相同只是返回值有所不同:

atan2(x,y)的返回值为一个数字
    atan(n)的返回值从 -PI/2 ~ PI/2

<<< 以上是一些理论知识,下面来看一些具体的应用实例 >>>

4.正弦实例:

思路:使用sin(n)控制mc的Y轴坐标

步骤1:

制作一个球型,存为MC,实例名为"Ball",放入舞台中。

步骤2:

加AS入代码层:

var A = 80;
//设置振幅
var centerY = 150;
//设置显示位置
var n = 0;
//累加变量
onEnterFrame = function () {
 ball._y = centerY + A*(-1*Math.sin(n*Math.PI/180));
 //改变ball的y坐标,呈现正弦震动
 n += 10;
};

5.正切实例:

思路:使用tan2(x,y)求夹角,通过得出的夹角改变 mc._rotation。

步骤1:

绘制出眼,鼻,嘴作为背景;

画一个黑色圆作为眼珠,存为MC,实例名为"Reye",注册点在左中。

复制一个Reye,实例名为"Leye"作为另一个眼珠。

步骤2:

加AS入代码层:

Reye.onMouseMove = function() {
 var dx = _xmouse-this._x;
 var dy = _ymouse-this._y;
 //获得鼠标与眼球的距离
 var theta = Math.atan2(dy, dx);
 //求夹角(弧度制)
 this._rotation = theta/Math.PI*180;
 //转换为角度制
};
Leye.onMouseMove = Reye.onMouseMove;
//Leye鼠标移动时的函数等于Reye鼠标移动时的函数

上一页  1 2 3 4 5 6 7  下一页

Tags:AS 功能 代码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接