WEB开发网
开发学院图形图像Flash 第三章 三角学应用Ⅱ [FL 基理译] 阅读

第三章 三角学应用Ⅱ [FL 基理译]

 2009-05-30 12:08:41 来源:WEB开发网   
核心提示: 在这里dx和dx的值是用 sprite1 的位置减去当前鼠标位置得出的,dist的值放入一个文本框中进行显示,第三章 三角学应用Ⅱ [FL 基理译](10),并在影片和鼠标之间绘制一条线(在下一章绘图API中会学到),最后,里面不包括数据类型和变量定义,在类中使用这些公式时,将所有这些代

在这里dx和dx的值是用 sprite1 的位置减去当前鼠标位置得出的,dist的值放入一个文本框中进行显示,并在影片和鼠标之间绘制一条线(在下一章绘图API中会学到)。最后,将所有这些代码放到处理函数 onMouseMove 中,每次鼠标移动时进行刷新。测试一下这个文件,并移动鼠标,鼠标与影片剪辑之间会连接上一条线,并实时读取线的长度。

后面的章节中,在学到碰撞检测时,我们会发现内置的碰撞检测(hit testing)方法存在着先天不足,然后会看到使用勾股定理公式完成基于距离(distance-based)碰撞检测方法。它还非常适合用于计算重力或弹力等,因为这些力的大小与两个物体之间的距离成正比。

本章重要公式

现在我们已经有了一个全新的工具箱,同时又多了不少工具,全部所有的工具将会在第19章列出,那么让我们看看现在都有了哪些工具。注意,这些公式非常地抽象和简化,里面不包括数据类型和变量定义,在类中使用这些公式时,是否使用这些给出的句型取决于你。

基本三角函数的计算:

角的正弦值 = 对边 / 斜边

角的余弦值 = 邻边 / 斜边

角的正切值 = 对边 / 邻边

角度制与弧度制的相互转换:

弧度 = 角度 * Math.PI / 180

角度 = 弧度 * 180 / Math.PI

向鼠标旋转(或向某点旋转):

// substitute mouseX, mouseY with the x, y point to rotate to
dx = mouseX - sprite.x;
dy = mouseY - sprite.y;
sprite.rotation = Math.atan2(dy, dx) * 180 / Math.PI;

创建波形:

// assign value to x, y or other property of sprite or movie clip,
// use as drawing coordinates, etc.
public function onEnterFrame(event:Event){
value = center + Math.sin(angle) * range;
angle += speed;
}

创建圆形:

// assign position to x and y of sprite or movie clip,
// use as drawing coordinates, etc.
public function onEnterFrame(event:Event){
xposition = centerX + Math.cos(angle) * radius;
yposition = centerY + Math.sin(angle) * radius;
angle += speed;
}

创建椭圆:

// assign position to x and y of sprite or movie clip,
// use as drawing coordinates, etc.
public function onEnterFrame(event:Event){
xposition = centerX + Math.cos(angle) * radiusX;
yposition = centerY + Math.sin(angle) * radiusY;
angle += speed;
}

计算两点间距离:

// points are x1, y1 and x2, y2
// can be sprite / movie clip positions, mouse coordinates, etc.
dx = x2 – x1;
dy = y2 – y1;
dist = Math.sqrt(dx*dx + dy*dy);

上一页  5 6 7 8 9 10 

Tags:第三章 三角学 应用

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