java类的加载机制及加载过程,java中调用python
一、总结:
乍一看,它可能感觉像一个矩形类。矩形类只是画一个矩形吗?这是我第一次看到这门课的感受。
其实Rectangle是一个“region”类,它最大的作用就是定义一个矩形区域。如果你问为什么是长方形,不是圆形,是三角形.无论如何.因为从程序的角度来看,矩形是最合适的表示方式。
其实之前介绍Bitmapdata的时候Rectangle类大家都不陌生,很多Bitmapdata变化区域都是他定义的。这个详细解释主要是为了了解他的一些算术API。
Rectangle类属于geom包,是geometry的缩写。同样属于这个包的还有Point类,里面包含了一些数学运算的概念类。Rectangle直接继承Object对象,所以没有太多父类要知道。共有11个公共属性和16个公共方法。看起来很多,但是很多都很好理解。
二、公共属性:
有两个部分,一个是直接可用的,一个是可操作的,但是AS3内部已经计算好了,可以直接调用。
第一部分:
1,x:是区域的x坐标。(左上角)
2,y:是区域的y坐标。(左上角)
3、宽度:区域的宽度
4、高度:区域的高度
第二部分:
5,top:区域顶部的Y坐标其实是Y。
6、底部:区域底部的Y坐标实际上是Y高度。
7,left:区域左边缘的X坐标实际上是X。
8,right:区域右边缘的x坐标实际上是x宽度。
9、topLeft:一个point对象,记录左上角的位置,可以读写(也就是可以通过给这个属性赋一个point对象来设置x和y值)
10、rightBottom:也是一个point对象,记录右下角的位置,可读写(即通过给这个对象赋值,可以和topLeft一起修改Rectangle的宽、高、底、右属性)。
11、size:也是一个点对象,记录区域的长和宽,可以读写(即可以直观改变区域的长和宽,通过赋值间接改变区域)。
虽然共有11个常用属性,但最核心的是X、Y、宽度和高度,其他的完全可以用简单的数学运算代替。不过如果能熟练运用其他七个公共属性就不错了。修改起来也更直观。
三、公开方法:
1、施工方法
矩形(x:数字=0,y:数字=0,宽度:数字=0,高度:数字=0)
这种构造方法简单易懂,直接设置了核心的四个常用属性。
2.复制方法
这个方法也很简单,就是复制复杂类型的对象。
3.确定某个点是否在该区域内(方法1)
直观地说,输入点的坐标x和y,返回Boolen值。
4.确定某个点是否在该区域内(方法2)
它的功能与contains()完全相同,只是参数被一个point对象所取代。
5.确定区域A是否包含另一个区域b。
这里的“包容”是指完全包裹,即形成“回”字形。
6.确定这两个区域是否相等。
这里的相等不是指同一个物体是否相等,而是组成两个区域的x、y、宽、高四个要素完全相等。如果完全相等,则返回true。
7.更改区域大小(方法1)
膨胀的意思是膨胀。有些人可能会好奇。直接增加尺寸设置宽度和高度不是很好吗?这种方法的不同之处在于,它从区域中心向左、右、上、下递增dx,dy。内部操作实际上是:
x-=dx;
宽度=2 * dx
y-=dy;
高度=2 * dy
PS:dx,dy可以输入负数作为参数,从而达到缩小区域的目的。
8.改变面积大小(方法2)
它的工作方式类似于inflate(),只是参数改为point。
9、两个区域的交集
其实题目已经说了这个方法的作用,就是求两个面积的交集,也就是返回交集的面积。
10、判断两个区域是否相交。
这个函数和交集()很容易混淆,因为它们是同一个词的不同词类,一个是名词,一个是动词。但是很高兴看到返回值还是可以清晰区分的。这个方法是确定两个区域是否相交。
11.确定该区域是否为空。
这里空的意思可以理解为区域宽度*高度=0,即宽度==0 高度==0。
12、置换(方法1)
改变左上角的位置实际上就是改变x和y的值,具体作用有:
Rectangle.x=dx
Rectangle.y=dy
13.置换(方法2)
功能与offset()相同,只是参数改为point。
14、复位
描述是重置Rectangle的所有属性,即四个基本属性X,Y,width,height都是0。
15、输出
没什么特别的,只是转换成字符串类型时调用的方法。输出四个基本属性x,y,宽度,高度
16.合并区域
合并两个领域听起来很棒,但是不要太高兴。这种合并不像在Photoshop中合并多个选区。合并后的区域是一个大矩形.遗憾的.也就是返回一个大矩形,刚好包含两个矩形。
总结:
总的来说,矩形类并不难掌握。
其中,公共属性为四大属性:x、y、宽度和高度。
public方法主要分为三个功能:
4.还剩下一些杂七杂八的小功能。
但是矩形作为一个运算类,可能没有太多精彩的玩法。但它是很多算法的基石。比如模拟实时策略的选择功能等等。还有类似于BitmapData操作的区域限制更改以达到优化的目的,等等。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。