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

   演示:

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

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


  其中角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()

  }

  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;

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

时间: 2024-09-19 17:03:12

Flash教程:用AS3代码表现倾斜角与斜率的相关文章

FLASH调用XML数据代码实例教程

FLASH调用XML数据代码实例教程 FLASH如何调用XML数据:建立XML对象: var myXML = new XML(); 引用XML文件: myXML.load("data.xml"); 忽略空格: myXML.ignoreWhite = true;//默认的为false 处理XML对象的函数: myXML.onLoad = function(success){ statements;} data.XML文件的内容: xiaoshandong xiaoshandong3 my

SWC让AS3代码更不安全

相信写AS3代码的同学都用过Action Script Viewer.SWF Decompiler这些工具吧?它们确实很强大,但普遍有一个缺点:对参数和局部变量反编译得不好,它们会用_arg1._local1.param1和_loc_1来替换真正的参数和局部变量.虽然这不影响反编译,但对于只是借鉴部分代码的同学,相信很难理解这些无俚头的东东吧? 最近我用ASV浏览代码,幸运地发现它居然能准确地反编译参数和局部变量.当然这是有前提的,那就是必须是反编译调试版的SWF,对于发行版的SWF是没有办法的

as3代码创建火效果代码

as3代码创建火效果代码 下面为.swf文件调用方法 private function update(e:event):void { target.filters = [new displacementmapfilter(bmd, new point(), bitmapdatachannel.red,bitmapdatachannel.red, 10, strengh, "clamp")]; offset=offset.add(v); bmd.perlinnoise(size / 2,

flash教程:Dragging and Dropping Drop Targets实例教程

flash教程:Dragging and Dropping  Drop Targets实例教程 拖放使用下拉目标 拖放对象涉及....拖放对象.该物体的电影剪辑,并延伸本教程时只需拖动的影片剪辑.与拖动一个对象,你是放弃对象的位置将触发一个事件.的位置,你下降的对象是一个影片剪辑,以及,您将学习本教程如何触发的事件根据位置的对象是下降了. 为了帮助您看看我讲的,将一个彩色画笔,并将其放置在电脑上在以下动画: 当你拖彩色画笔,把它丢在电脑上,你应该已经注意到,电脑的颜色改变,以反映颜色的刷子.您将

XML动态菜单flash教程二

在上一期的XML菜单的教程中,我们做了一个简单的纵向排列的XML文字菜单,并且在flash中附加了一个跟随鼠标的缩略图.缩略图的数据也是从XML中提取的. 在我们XML菜单教程的第二期,我们来解决另外一个问题. 我们都知道XML的方便,随意的更改,删除和添加数据.请注意,更改和删除还好,如果添加的话,这里就会有一个界面排版和用户使用的问题的.拿我们上一次的XML菜单来演示,我把我们的XML文件有添加了几十条内容,结果我们的XML菜单变成这样了: http://www.keyframe1.com/

Flash+XML滚动新闻代码 无图片 附源码下载_广告代码

用flash实现读取新闻连接的代码,方便一个50高度的地方显示外部连接,不错的黑色效果index.html 复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta name="Copyright" content=" http://www.jb51.

Flash教程实例:如何制作别样的绿

  设置影片属性;使用"文字工具"写入文字;使用帧动作设置动作;使用帧属性设置帧的属性;创建新元件.本文对Flash教程实例 :如何制作别样的绿进行了具体阐述供阅读. [步骤] (1) 启动Flash MX 2004,如果"属性"面板没有打开,可选择菜单栏中的"窗口"|"属性"命令打开它.在"属性"面板中,设置动画尺寸大小为600×300px.确认 "帧频"文本框中的数值为12.&quo

Flash教程:制作3D旋转动画效果

  本教程着重于代码的编写,版本AS 3.0.只要制作一个旋转的3D球,图形元件的制作不作讲解,请参看有关教程. include "Math2.as" //图片容器 var menu:Sprite=new Sprite(); //使图标移动 menu.x = 300; menu.y = 200; //注册事件侦听器 menu.addEventListener(Event.ENTER_FRAME,moveMenu); this.addChild(menu); //椭圆在x 和y 轴上的截

ppt插入flash教程

  我们通常都是在PPT中插入视频超链接或者其他视频格式,也许想要插入FLASH的朋友不太懂操作,其实也挺简单的,只要用对控件就好了,下面是PPT插入FLASH教程步骤. PowerPoint如何加入FLASH ppt插入flash教程 1,通过插入-对象-来自文件插入FLASH文件,如图 2,选中插入的对象,再一次-插入-动作设置-激活内容(动作设置选项可以选择单击鼠标或鼠标经过) 3,放映PPT时单击插入的文件对象(或鼠标经过)时即可播放SWF文件. 这种PPT插入FLASH方法的原理: 通