几何结构,主要是完成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

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

  1. AS3.0中的显示编程(末篇)-- 滤镜(下)

    剩下的三种滤镜,因为我自己也不是很懂矩阵啊这些的,只能做些简单的范例和说明了,抱歉!颜色矩阵滤镜.卷积滤镜.置换图滤镜这三种滤镜只能通过AS代码实现.如果说上面的六种滤镜,只是在原图的基础上做些简单的 ...

  2. AS3.0中的显示编程(五)-- Loader(加载器)

    Loader类是一个显示容器,可用来加载SWF文件或图像(JPG.GIF.PNG),被加载的显示对象将做为Loader对象的子级添加.使用Loader类时,不可避免的要注意安全模型.但这块内容我会集中 ...

  3. as3.0中如何阻止事件冒泡?

    as3.0中的事件冒泡机制有时候会很烦人,比如一个Sprite(方便下文描述就命名为Container吧)把另一外Sprite(称为Child吧)做为子元素套进来以后,如果两个Sprite都注册了Mo ...

  4. AS3.0中is,as运算符

    AS3.0中is,as运算符 (1) is运算符 在AS3.0新增加的is运算符,主要功能是判断一个变量或者等式是不是等于给定的数据类型,在以前的版本中,有instanceof来实现相同的功能.但是i ...

  5. 转:As3.0中的反射

    常见的笔试题,所以把它转下来收藏. 给你一个代码代表"类"完整路径的字符串,比如"flash.text.TextField",你能用AS3.0在舞台上动态创建一 ...

  6. C# 4.0中对Office编程的预览和对可选参数的体验

    最近随着VS2010 beta2的发布,有机会体验了一下C# 4.0中的很多新特性,这里对官方提供的一个简单的实例进行了一下分析,因为我的2010跑在win7上新建所有的Windows项目都会无响应, ...

  7. as3调用java_java与as3.0中for each使用的小陷阱

    在程序开发中for可以说是一个非常非常常出现的东西,特别是在数组里面处理的时候,来看一下for的简单用法 for与for each 我们在使用for时来一个非常常见的代码段 //as3.0 for(v ...

  8. 1112关于AS3.0中继承APPC的无法去除标题栏的解决方法

    问题:继承了AppCompatActivity的Activity无法通过调用requestWindowFeature(Window.FEATURE_NO_TITLE)来隐藏标题栏.public cla ...

  9. AS3.0 正则表达式规则

    谈谈正则表达式,AS3.0中引进了正则表达式.正则表达式是用于验证文本值是否符合特定模式. 正则表达式有四个部分.1元子符.2元序列.3标志.4数量表达符. 可以这样看 pattern RegExp= ...

最新文章

  1. tomcat通过conf-Catalina-localhost目录发布项目详解
  2. PowerShell_5_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念
  3. 可控制转速CSS3旋转风车特效
  4. MySQL索引面试题:优化 索引分类
  5. 阿里、京东高级算法专家讲述数学在企业中的应用
  6. java 局部变量垃圾回收_java局部变量对垃圾回收的影响
  7. httpclient4.3+jsoup模拟登陆河北移动
  8. Idea搭建SpringCloud(三)------Ribbon实现负载均衡及其自定义算法策略
  9. 已知元器件名,AD原理库快速查找元器件
  10. mysql 没有 myd_MySQL中找不到.myd文件的问题
  11. 服务器防火墙开启导致无法远程连接解决方案
  12. KGB知识图谱通过数据可视化提升金融行业分析能力
  13. 修改北京定点医院amp;查询医保信息
  14. Linux C语言调用C++动态链接库-改
  15. 曾风靡全国的五笔输入法要淘汰了?
  16. 王杰律师与CSDN总裁合影
  17. Linux配置无密登录
  18. delphi ado 连接mysql_DELPHI ADO连接数据库
  19. 悉尼今晚率先熄灯一小时 抗击全球气候变化
  20. 查询局域网电脑的IP,端口号,MAC地址 黑客技术入门

热门文章

  1. vue html引入资源dev下404,webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)...
  2. bldc不同载波频率_广播百科 频率调制
  3. python装饰器教学_Python装饰器学习(九步入门)
  4. atlas单机模式代码_用代码玩太无聊,这样玩海盗游戏《ATLAS》单机模式才是正确玩法...
  5. dataTable 表格组件刷新 问题记录
  6. Mybatis 获取当前序列和下一个序列值 以及在一个方法中写多条SQL 语句
  7. 操作系统导论第四章课后习题
  8. iOS SwiftUI篇-4 注解@State、@Binding、@ObservedObject、@EnvironmentObject、@Environment
  9. 微信小程序自定义轮播图滚动样式 自定义组件轮播图的实现
  10. Django模板过滤器详解