AS3.0 几何结构 Point对象和Rectangle对象

 几何结构,主要是完成Flash编程中,一些和几何相关的内容。如显示对象的变形角度、公式计算等。可能很多人和我一样,高中学的几何知识,差不多都已经还给老师了。不过也不用太担心,因为一般情况下,我们也用不到非常复杂的几何处理。我这里就介绍点非常简单的知识,日常的编程中需要用到。

      (一)Point对象

      Point对象是一个点对象,在显示编程的不少地方都需要用到Point对象。创建一个Point对象方式如下:

      var p:Point = new Point(3,4); //3:x坐标 4:y坐标

      然后可以通过p.x和p.y属性来获得和修改该Point对象的坐标值。

      这里有一个非常实用的属性,你可以通过p.length来获得p到原点(0,0)的距离。

 

      Point对象还有几个实用的方法,Point对象的方法访问和其他类略有不同,我通过下面的例子说明:

      (1) distance()

      用来获得两个点对象之间的距离。

      var p1:Point = new Point(3,4);

      var p2:Point = new Point(6,8);

      trace(Point.distance(p1,p2)); //Point对象方法的使用

 

      (2) interpolate()

      这个也是个常用的方法,我通过例子来说明用法:

      var p1:Point = new Point(3,4);

      var p2:Point = new Point(6,8);

      var p3:Point = Point.interpolate(p1,p2,0.9);

      trace(p3.toString()); //返回:(x=3.3, y=4.4)

      这个方法的意思是,返回p1、p2连成的直线90%的点位置,这个90%是相对于p1点的。

 

      (3) normalize()、offset()、polar()

      这三个方法都是用来移动点的位置的,我这里就不多做介绍了,也不是非常常用。感兴趣的朋友可以自己了解下。

 

      (二)Rectangle对象

      Rectangle对象是一个矩形对象,也是显示编程中经常用到的。创建一个矩形对象的方式如下:

      var p:Rectangle = new Rectangle(0,0,100,50); //参数分别为x坐标、y坐标、宽、高

      Rectangel的属性图如下:

      

      其中,top、left、bottom、right、width、height返回的是数值,topLeft和bottomRight返回的是一个坐标点(Point)。如果你改变这些数值的话,同时会改变矩形的形状大小。

      如果只是要平移矩形,请改变矩形的x、y属性。

      另外,可以用size属性查看变形后矩形的宽和高,返回的是一个以宽和高为数值表示的坐标点。

 

      Rectangle也有一些比较常用的方法,如下:

      (1)contains()、containsPoint()

      这两个方法返回的都是布尔值。并且,只是传递的参数不同,意义是一样的,用来判断矩形内是否包含该点。

 

      (2)containsRect()、intersection()、intersects()、union()

      这四个方法的作用差不多,我放在一起介绍了。

      containsRect():返回一个布尔值,判断参数矩形是否包含在目标矩形内。如果完全包含,返回true,否则返回false。

      intersects():返回一个布尔值,判断参数矩形是否与目标矩形相交。如果相交返回true,否则返回false。

      intersection():如果两个矩形相交,则返回相交部分的矩形。如果没有相交,则返回一个空的矩形。如下图所示:

      

      union():返回两个矩形的最大矩形空间。如下图所示:

      

转载于:https://www.cnblogs.com/shown/archive/2013/04/08/3006812.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值