几何结构,主要是完成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://blog.51cto.com/windtoto/404484