目录
copy()
move()
move_ip()
inflate()
inflate_ip()
clamp()
clamp_ip()
clip()
clipline()
union()
union_ip()
unionall()
unionall_ip()
fit()
normalize()
contains()
collidepoint()
colliderect()
collidelist()
collidelistall()
collidedict()
collidedictall()
copy
()功能:复制矩形
属性:copy() -> Rect
返回与原始矩形具有相同位置和大小的新矩形。
New in pygame 1.9
move
()功能:移动矩形
属性:move(x, y) -> Rect
返回按给定偏移量移动后的新矩形。x和y参数可以是任何整数值,正数或负数。
move_ip
()功能:移动矩形(无返回)
属性:move_ip(x, y) -> None
与 Rect.move()
方法相同,但仅操作无返回副本。
inflate
()功能:增大或缩小矩形大小
属性:inflate(x, y) -> Rect
注意,使用整数,如果给定的偏移量太小(<2>-2),则中心将关闭。
inflate_ip
()功能:增大或缩小矩形大小(无返回)
属性:inflate_ip(x, y) -> None
与 Rect.inflate()
方法相同,但仅操作无返回副本。
clamp
()功能:将矩形移到另一个矩形内
属性:clamp(Rect) -> Rect
返回一个新的矩形,该矩形被移动到参数Rect内。如果矩形太大而不能放在内部,它将在参数Rect内居中,但其大小不会更改。
clamp_ip
()功能:将矩形移到另一个矩形内(无返回)
属性:clamp_ip(Rect) -> None
与 Rect.clamp()
方法相同,但仅操作无返回副本。
clip
()功能:在另一个矩形内裁剪矩形
属性:clip(Rect) -> Rect
返回一个新矩形,该矩形被裁剪为完全位于参数矩形内。如果两个矩形开始时没有重叠,则返回一个0大小的矩形。
clipline
()功能:在矩形内裁剪一条线
属性:
返回裁剪为完全位于矩形内的直线的坐标。如果行与矩形不重叠,则返回空元组。
要裁剪的线可以用以下任何格式表示(可以使用浮点数但不能保证精度):
- four ints
- 2 lists/tuples/Vector2s of 2 ints
- a list/tuple of four ints
- a list/tuple of 2 lists/tuples/Vector2s of 2 ints
返回 | 将给定行的坐标裁剪为完全在矩形内的元组返回,如果给定行与矩形不重叠,则返回空元组 |
---|---|
返回类型 | tuple(tuple(int, int), tuple(int, int)) or () |
Raises: | TypeError -- 如果该线坐标不是上述行格式之一 |
注意:
pygame.Rect
pygame对象的 rect.bottom
和 rect.right
属性始终位于其实际边界之外的一个像素处。# Example using clipline().
clipped_line = rect.clipline(line)
if clipped_line:
# If clipped_line is not an empty tuple then the line
# collides/overlaps with the rect. The returned value contains
# the endpoints of the clipped line.
start, end = clipped_line
x1, y1 = start
x2, y2 = end
else:
print("No clipping. The line is fully outside the rect.")
New in pygame 2.0.0.
union
()功能:返回一个两个矩形合并后的矩形
属性:union(Rect) -> Rect
返回完全覆盖两个提供的矩形区域的新矩形。新矩形内可能有原始矩形未覆盖的区域。
union_ip
()功能:将两个矩形合并为一个(无返回)
属性:union_ip(Rect) -> None
与 Rect.union()
方法相同,但仅操作无返回副本。
unionall
()功能:返回一个矩形的并集
属性:unionall(Rect_sequence) -> Rect
unionall_ip
()功能:矩形的并集
属性:unionall_ip(Rect_sequence) -> None
与 Rect.unionall()
方法相同,但仅操作无返回副本。
fit
()功能:按纵横比调整矩形的大小或移动矩形
属性:fit(Rect) -> Rect
返回一个新矩形,该矩形被移动并调整大小以适应另一个矩形。保留原始矩形的纵横比,因此新矩形的宽度或高度可能小于目标矩形。
normalize
()功能:泛化矩形
属性:normalize() -> None
如果矩形的宽度或高度为负,则此操作将翻转矩形的宽度或高度。矩形将保持在同一位置,只交换边。
contains
()功能:测试一个矩形是否在另一个矩形内
属性:contains(Rect) -> bool
当参数完全在Rect内时返回true。
collidepoint
()功能:测试点是否在矩形内
属性:
注意:对于矩形和直线之间的碰撞检测,可以使用 clipline()
方法。
colliderect
()功能:测试两个矩形是否重叠
属性:colliderect(Rect) -> bool
如果矩形的任何部分重叠(除了顶部+底部或左侧+右侧边缘),则返回true。
注意:对于矩形和直线之间的碰撞检测,可以使用 clipline()
方法。
collidelist
()功能:测试一个矩形与列表中的矩形是否相交(intersect)
属性:collidelist(list) -> index
测试矩形是否与一系列矩形中的任何矩形碰撞。返回找到的第一个冲突的索引。如果未找到冲突,则返回索引-1。
collidelistall
()功能:测试列表中的所有矩形是否相交(intersect)
属性:collidelistall(list) -> indices
collidedict
()功能:测试字典中的一个矩形是否相交(intersect)
属性:
注意:Rect对象不能用作字典中的键(它们不可散列),因此必须将它们转换为元组/列表。
e.g. rect.collidedict({tuple(key_rect) : value})
collidedictall
()功能:测试字典中的所有矩形是否相交(intersect)
属性:
注意:Rect对象不能用作字典中的键(它们不可散列),因此必须将它们转换为元组/列表。e.g. rect.collidedictall({tuple(key_rect) : value})
整理自:
https://www.pygame.org/docs/ref/rect.html