Flash实例教程:用AS3代码表现倾斜角与斜率

2016-01-29 12:14 7 1 收藏

Flash实例教程:用AS3代码表现倾斜角与斜率,本例为Flash AS3代码实例教程,教程讲解了通过用AS3代码表现倾斜角与斜率,对AS编程有兴趣的朋友可以学习下~~

【 tulaoshi.com - Flash 】

本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请点击这里,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临! 

在学习中遇到问题请到 论坛 发贴交流!

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

 

效果演示,鼠标左键按住两端移动:

演示:

坐标中的两点可以确定一条直线,直线与线段不同,线段有长度,而直线是没有长度的。通过两点可以确定一条直线,通过角度和一个定点也能确定一条直线。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

直线与X轴正半轴所成的角称直线的倾斜角,当倾斜角不等于90度时,倾斜角的正切称为直线的斜率。图:

Flash实例教程:用AS3代码表现倾斜角与斜率_中国

其中角a就是直线的倾斜角,而斜率就是直角三角中对边BC与邻边AB的比值,即正切值。正切值通过Math类的tan()方法可以得到。

给定A点和C点的坐标,可求得角a的角度值。

求角a的正切值的算法:
(C.y - A.y) / (C.x - A.x);

下面的代码求直线的斜率:
(C.x == A.x)?Infinity:(C.y - A.y) / (C.x - A.x);
代码先判断两点的横坐标是否相等,如果相等,说明直线垂直于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()
}

[next]

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()。

5、测试影片,看一下效果。如果需要输出p2的x、y坐标添加代码:

x_txt.text = p2.x;
y_txt.text = p2.y;

界面上添加静态文本和动态文本就不用细说了吧,如果不需要显示斜率注释掉。

来源:https://www.tulaoshi.com/n/20160129/1485181.html

延伸阅读
标签: FLASH flash教程
poluoluo核心提示:Flash Awww.Tulaoshi.comS3简单制作跟随鼠标缓动运动的圆,我们这个教程主要是利用AS3来制作,非常简单,适合新手。  Flash AS3简单制作跟随鼠标缓动运动的圆,我们这个教程主要是利用AS3来制作,非常简单,适合新手。 先看效果,鼠标点击动画的任何部分可以预览到效果。  启动flash,新建立文档,设置...
标签: FLASH flash教程
这是一个鱼缸效果,这个动画制作,用到了很多flash动画制作的基础技能,诸如:遮罩,引导层,补间动画,元件,水纹效果,鼠绘等,很适合初学者练习 先来看看最终效果: 首先需要找一张背景图片,最好是鱼缸,海低或碎石,枯树等图片,将图片处理为400x300大小。 图1 新建一flash文档,背景为白色,将准备好的图片导入到...
效果如下: 在AS3中显示对象都有一个transform属性,设置这个属性可以改变显示对象的大小,旋转,颜色等特性.transform属性还有它自已的属性, 其中的colorTransform属性就可以改变显示对象的颜色.colorTransform属性必须使用new来设置.格式: 显示对象.transform.colorTransform = new ColorTransform(红色乘数,绿色乘数,蓝色乘数,透明度乘数...
标签: FLASH flash教程
效果演示: 一、打开Flash,新建一个空白文档,设置下背景色,我这里设置的是绿色,你可以根据你的喜好去设置哈~ 然后按CTRL+F8新建一个影片剪辑,命名为茶。 二、开始画茶杯(因为刚新建影片剪辑了,所以这会应该是在名为茶的影片剪辑中了喔~)。把填充色设置为无,线条色选个颜色,然后先用椭圆工具画一个椭圆,再用线条工具画一条直线...
标签: FLASH flash教程
QQ表情已经成为一种流行文化,聊天的时候我们经常会被一些搞怪的QQ表情逗得忍俊不禁。其实有些表情制作也不难,只要掌握一些Flash的基本操作,我们就可以把自己的好创意也制成表情。本实例来自我自己画的一套圆圆&溜溜搞怪表情中的一个,下面是制作过程的详解,希望有助于大家学习Flash动画以及表情制作的基本原理。 下面我们先来看看效...

经验教程

779

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部