AS3.0中的显示编程(六)-- 几何结构

简介:

      几何结构,主要是完成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的属性图如下:

      clip_image002[5]

      其中,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():如果两个矩形相交,则返回相交部分的矩形。如果没有相交,则返回一个空的矩形。如下图所示:

      clip_image004

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

      clip_image006










本文转自 windtoto 51CTO博客,原文链接:http://blog.51cto.com/windtoto/404484,如需转载请自行联系原作者
目录
相关文章
语法着色控件使用典型范例
语法着色控件使用典型范例
59 0
|
数据库 数据安全/隐私保护
【号外】-温习如何画E-R图
【号外】-温习如何画E-R图
【号外】-温习如何画E-R图
|
缓存 索引
OpenGL学习笔记(九):索引缓冲器(EBO /IBE)的理解与使用,引入线框/填充模式
OpenGL学习笔记(九):索引缓冲器(EBO /IBE)的理解与使用,引入线框/填充模式
OpenGL学习笔记(九):索引缓冲器(EBO /IBE)的理解与使用,引入线框/填充模式
|
vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
|
Android开发
第二十一章:变换(十四)
3D-ish旋转 即使计算机屏幕是平面和二维的,也可以在这些屏幕上绘制视觉对象,使其具有第三维的外观。 在本章的前面,您看到了一些文本效果,它们提供了第三个维度的提示,而Xamarin.Forms支持两个额外的旋转,名为RotationX和RotationY,它们似乎也突破了屏幕固有的二维平面度。
1353 0
|
JavaScript Android开发
第二十一章:变换(十一)
模拟时钟用于图形用户界面的经典示例程序之一是模拟时钟。 BoxView再一次为时钟之手进行救援。 必须根据当前时间的小时,分钟和秒旋转这些BoxView元素。让我们首先使用名为AnalogClockViewModel的类来处理旋转数学,该类包含在Xamarin.
1071 0
|
Android开发 容器
第五章:尺寸处理(6)
经验拟合文本在具有特定尺寸的矩形内拟合文本的另一种方法涉及基于特定字体大小凭经验确定呈现文本的大小,然后向上或向下调整该字体大小。 无论可访问性设置如何,此方法都具有在所有设备上工作的优势。但是这个过程可能很棘手:第一个问题是字体大小和渲染文本的高度之间没有干净的线性关系。
916 0
|
Android开发 iOS开发 Windows
|
Android开发 iOS开发

热门文章

最新文章