1 Rect类实例的创建
Pygame中的Rect类表示一个矩形,通过图1所示的代码创建Rect类的实例。
图1 创建Rect实例的代码
其中,第一个参数(20, 50)表示创建的矩形左上角坐标,第二个参数(50, 100)表示矩形的宽度是50, 高度是100。
2 Rect类的属性
通过Rect类的属性,可以获取该矩形的位置及大小信息,如图2所示。
2.1 获取矩形位置信息
通过如图2所示的代码可以获取矩形位置信息,即指定点的坐标。
图2 获取矩形位置信息的代码
其中,topleft、topright、bottomleft和bottomright属性分别表示矩形左上角、右上角、左下角以及右下角的坐标;center属性表示矩形中心的坐标。
2.2 获取矩形大小信息
通过图3所示的代码获取矩形大小的信息。
图3 获取矩形大小信息的代码
其中,x和y属性表示矩形的起点;width和height属性分别表示矩形的宽度和高度。
3 Rect类的方法
3.1 矩形的移动
通过move()方法和move_ip()方法实现矩形的移动。
3.1.1 move()方法
使用move()方法移动矩形的代码如图4所示。
图4 move()方法移动矩形代码
其中,rect1是左上角位于(20, 50)的矩形,通过move()方法将rect1的左上角沿着x轴和y轴分别移动100,得到rect2;此时rect1左上角的坐标依然是(20, 50),而rect2左上角的坐标是(120, 150)。其原理如图5所示。
图5 move()方法移动矩形的原理
3.1.2 move_ip()方法
使用move_ip()方法移动矩形的代码如图6所示。
图6 move_ip()方法移动矩形的代码
其中,rect1是左上角位于(20, 50)的矩形,通过move_ip()方法将其左上角沿着x轴和y轴分别移动100,此时rect1本身的位置发生了变化,不会产生新的Rect类实例。其原理如图7所示。
图7 move_ip()方法移动矩形的原理