Flash AS教程:用AS3代码表现倾斜角与斜率介绍
坐标中的两点可以确定一条直线,直线与线段不同,线段有长度,而直线是没有长度的。通过两点可以确定一条直线,通过角度和一个定点也能确定一条直线。下面就为大家介绍用AS3代码表现倾斜角与斜率,希望对大家有一定的帮助。
效果演示,鼠标左键按住两端移动:
演示:
直线与X轴正半轴所成的角称直线的倾斜角,当倾斜角不等于90度时,倾斜角的正切称为直线的斜率。图:

其中角a就是直线的倾斜角,而斜率就是直角三角中对边BC与邻边AB的比值,即正切值。正切值通过Math类的tan()方法可以得到。
给定A点和C点的坐标,可求得角a的角度值。
求角a的正切值的算法:
下面的代码求直线的斜率:
代码先判断两点的横坐标是否相等,如果相等,说明直线垂直于x轴,这时不存在斜率,所以给斜率一定特殊值Infinity。
例:
1、新建Flash文档,取名存盘。
2、创建影片剪辑,图层1用椭圆工具绘制一个圆,填充色和大小根据需要定。插入图层2, as层,输入代码:
this.addEventListener(MouseEvent.MOUSE_DOWN,startDragFunc);
//注册鼠标释放事件侦听器
this.addEventListener(MouseEvent.MOUSE_UP,stopDragFunc);
//定义接收按下事件的函数
function startDragFunc(e:MouseEvent);
{
//开始拖动
e.target.startDrag();
//更新显示
e.updateAfterEvent() ;
}
//定义接收释放事件的函数
function stopDragFunc(e:MouseEvent);
{
//停止拖动
e.target.stopDrag()
}
3、返回场景1,在图层1的第一帧拖入两个影片剪辑,在属性面板中输入剪辑的名字,p1 、p2。
4、插入图层2,选择文本工具,创建静态文本,字体大小15 、字体自定。输入:斜率:在右面创建动态文本,名:k_txt。在下面再次创建静态文本,输入:倾斜角:右面创建动态文本,名:a_txt。5、插入图层3,as层。输入代码:
include "Math2.as";
//创建两个点
var A:Point=new Point()
var B:Point=new Point()
//创建用于绘制箭头的容器
var arrow_shape:Shape=new Shape();
this.addChild(arrow_shape);
stage.addEventListener(Event.ENTER_FRAME,loop);
function loop(e:Event):void
{
//清除绘图
arrow_shape.graphics.clear();
//在两点间绘制箭头
drawArrow(arrow_shape.graphics,p1.x,p1.y,p2.x,p2.y);
//设置点A的值
A.x=p1.x;
A.y=p1.y;
//设置点B的值
B.x=p2.x;
B.y=p2.y;
//根据点A和点B创建直线
var line:Line=new Line(A,B);
//把斜率保存两位小数,并转换为字符串显示出来
k_txt.text=line.K.toFixed(2);
//把倾斜角取整后显示
a_txt.text=line.angle.toFixed();
}
上面的代码把弧度和角度转换等函数放在Math2.as文件中,通过include导入Math2.as文件就可以使用这些数学函数。Math2.as文件中添加了绘制箭头的函数drawArraw()。
6、测试影片,看一下效果。如果需要输出p2的x、y坐标添加代码:
y_txt.text = p2.y;
界面上添加静态文本和动态文本就不用细说了吧,如果不需要显示斜率注释掉。
相关文章
flash cs6想要实现鼠标跟随效果?该怎么制作呢?今天我们就来看看使用as2.0实现鼠标跟随效果的教程,需要的朋友可以参考下2019-05-19
Flash cs6怎么使用代码输入中英文文本?Flash cs6中可以使用文字工具直接输入文本,也可以使用代码来输入文本,该怎么使用代码输入文本呢?请看下文详细的教程,需要的朋友2018-03-11
flash as3.0抽象类怎么定义? as3.0中有很多抽象类,该怎么定义抽象类和抽象方法呢?下面我们就来看看简单的例子,需要的朋友可以参考下http://www.jb51.net/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,该怎么使用呢?下面我们就来看看详细的教程,需要的朋友可以参考下2018-01-25
本教程给大家分享一个Flash小教程,教大家在Flash CS6中怎么实现鼠标点击决定图像位置?方法很简单,感兴趣的朋友欢迎前来一起分享学习2018-01-12
本教程教脚本之家的ActionScript教程学习者在Flash中如何用代码将图片放在自己想要的舞台位置,教程讲解的详细,感兴趣的朋友欢迎前来分享学习2017-11-20
本教程教脚本之家的ActionScript教程学习者如何在Flash CS6中使用with函数绘制背景图?教程一步步讲解的挺详细,方法也不难,非常适合Flash新手入门学习2017-11-18
Flash怎么设置元件坐标?flash使用代码设置元件的坐标的教程
Flash怎么设置元件坐标?flash中导如的元件需要添加坐标,该怎么定位元件坐标呢?下面我们就来看看flash使用代码设置元件的坐标的教程,需要的朋友可以参考下2017-10-11
Flash怎么制作来回摇摆的花朵的动画?Flash中想要给花朵制作一段摇摆的动画效果,该怎么制作呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下2017-05-23
Flash怎么制作流动七彩色的文字?想要让文字动起来,该怎么使用flash给文字制作一个流动七彩色的动画呢?下面我们就来看看详细的教程,需要的朋友可以参考下2017-04-23












最新评论