目录

  • 基本参数
  • Rect方法
    • 方法详解
  • 参考文章

基本参数

Rect 是用于存储矩形坐标的 Pygame 对象,一个 Rect 对象可以由 left,top,width,height 几个值创建。

Rect(left, top, width, height) -> Rect
left=水平距离,top=垂直距离,width=矩形宽,height=矩形长

Rect((left, top), (width, height)) -> Rect

Rect(object) -> Rect

Rect方法

  1. 移动类型

pygame.Rect.copy() # 拷贝 Rect 对象
pygame.Rect.move() # 移动 Rect 对象
pygame.Rect.move_ip()# 原地移动 Rect 对象
pygame.Rect.inflate() # 放大和缩小 Rect 对象的尺寸
pygame.Rect.inflate_ip() # 原地放大和缩小 Rect 对象的尺寸
pygame.Rect.clamp() # 将一个 Rect 对象移动到另一个 Rect 对象的中心
pygame.Rect.clamp_ip() # 原地将一个 Rect 对象移动到另一个 Rect 对象的中心

  1. 逻辑类型

pygame.Rect.clip() # 获取两个 Rect 对象互相重叠的部分
pygame.Rect.union() # 将两个 Rect 对象合并
pygame.Rect.union_ip() # 原地将两个 Rect 对象合并
pygame.Rect.unionall() # 将多个 Rect 对象合并
pygame.Rect.unionall_ip() # 原地将多个 Rect 对象合并
pygame.Rect.fit() # 按照一定的宽高比调整 Rect 对象
pygame.Rect.normalize() # 翻转 Rect 对象(如果尺寸为负数)

  1. 检测类型

pygame.Rect.contains() # 检测一个 Rect 对象是否完全包含在该 Rect 对象内
pygame.Rect.collidepoint() # 检测一个点是否包含在该 Rect 对象内
pygame.Rect.colliderect() # 检测两个 Rect 对象是否重叠
pygame.Rect.collidelist() # 检测该 Rect 对象是否与列表中的任何一个矩形有交集
pygame.Rect.collidelistall() # 检测该 Rect 对象与列表中的每个矩形是否有交集
pygame.Rect.collidedict() # 检测该 Rect 对象是否与字典中的任何一个矩形有交集
pygame.Rect.collidedictall() # 检测该 Rect 对象与字典中的每个矩形是否有交集

方法详解

copy()
拷贝 Rect 对象。
copy() -> Rect
返回一个新的 Rect 对象,拥有与该 Rect 对象相同的位置和尺寸。

move()
移动 Rect 对象。
move(x, y) -> Rect
返回一个新的 Rect 对象。x 和 y 参数可以是正数或负数,用于指定新对象的偏移地址。

move_ip()
原地移动 Rect 对象。
move_ip(x, y) -> None
效果跟 move() 方法一样,区别是这个直接作用于当前 Rect 对象,而不是返回一个新的。

inflate()
放大和缩小 Rect 对象的尺寸。
inflate(x, y) -> Rect
返回一个新的 Rect 对象。x 和 y 参数指定新的对象放大或缩小多少像素。新的对象保持与原始 Rect 对象在同一个中心上。

inflate_ip()
原地放大和缩小 Rect 对象的尺寸。
inflate_ip(x, y) -> None
效果跟 inflate() 方法一样,区别是这个直接作用于当前 Rect 对象,而不是返回一个新的。

clamp()
将一个 Rect 对象移动到另一个 Rect 对象的中心。
clamp(Rect) -> Rect
返回一个新的 Rect 对象,范围是以 Rect 参数指定的对象为中心,保持原始 Rect 对象的尺寸不变。如果原始 Rect 对象的尺寸比 Rect 参数的要大,那么保持中心重叠,尺寸不变。

clamp_ip()
原地将一个 Rect 对象移动到另一个 Rect 对象的中心。
clamp_ip(Rect) -> None
效果跟 clamp() 方法一样,区别是这个直接作用于当前 Rect 对象,而不是返回一个新的。

clip()
获取两个 Rect 对象互相重叠的部分。
clip(Rect) -> Rect
返回一个新的 Rect 对象,范围是原始 Rect 对象与 Rect 参数指定的对象互相重叠的部分。如果两个 Rect 对象没有任何重叠,则返回一个 (0, 0, 0, 0) 的 Rect 对象。

union()
将两个 Rect 对象合并。
union(Rect) -> Rect
返回一个新的 Rect 对象,范围将包含原始 Rect 对象与 Rect 参数指定的对象。由于结果返回一个新的矩形,所以会产生一些多与的空间。

union_ip()
原地将两个 Rect 对象合并。
union_ip(Rect) -> None
效果跟 union() 方法一样,区别是这个直接作用于当前 Rect 对象,而不是返回一个新的。

unionall()
将多个 Rect 对象合并。
unionall(Rect_sequence) -> Rect
返回一个新的 Rect 对象,范围将包含 Rect_sequence 参数指定的序列中所有的 Rect 对象。

unionall_ip()
原地将多个 Rect 对象合并。
unionall_ip(Rect_sequence) -> None
效果跟 unionall() 方法一样,区别是这个直接作用于当前 Rect 对象,而不是返回一个新的。

fit()
按照一定的宽高比调整 Rect 对象。
fit(Rect) -> Rect
返回一个新的 Rect 对象,范围是 Rect 参数的对象按照原始 Rect 对象的宽高比调整得来。

normalize()
翻转 Rect 对象(如果尺寸为负数)。
normalize() -> None
如果 width 或 height 存在负数,则做出相应的翻转,使其变为正数。翻转后的 Rect 仍然在原来的位置,只是修改其相应的属性值。

contains()
检测一个 Rect 对象是否完全包含在该 Rect 对象内。
contains(Rect) -> bool
如果 Rect 参数指定的对象完全包含在该 Rect 对象内,返回 True,否则返回 False。

collidepoint()
检测一个点是否包含在该 Rect 对象内。
collidepoint(x, y) -> bool
collidepoint((x,y)) -> bool
如果给定的点在该 Rect 对象内,返回 True,否则返回 False。
一个点在 Rect 的 right 或 bottom 边缘上时,并不被认为包含在该矩形内。

colliderect()
检测两个 Rect 对象是否重叠。
colliderect(Rect) -> bool
如果两个 Rect 对象有任何重叠的地方,返回 True,否则返回 False。
注意:right 和 bottom 指定的边缘位置并不属于对应的矩形。

collidelist()
检测该 Rect 对象是否与列表中的任何一个矩形有交集。
collidelist(list) -> index
返回值是第 1 个有相交的矩形所在列表中的索引号(如果有的话),否则返回 -1。

collidelistall()
检测该 Rect 对象与列表中的每个矩形是否有交集。
collidelistall(list) -> indices
返回一个列表,包含所有与该 Rect 对象有交集的元素;如果一个都没有,返回一个空列表。

collidedict()
检测该 Rect 对象是否与字典中的任何一个矩形有交集。
collidedict(dict) -> (key, value)
返回值是第 1 个有相交的矩形所在字典中的键和值;如果没有找到,返回 None。
注意:因为 Rect 对象不是哈希值,所以不能作为字典的键存在,因此比较的只有值。

collidedictall()
检测该 Rect 对象与字典中的每个矩形是否有交集。
collidedictall(dict) -> [(key, value), …]
返回一个列表,包含所有与该 Rect 对象有交集的键值对;如果一个都没有,返回一个空字典。
注意:因为 Rect 对象不是哈希值,所以不能作为字典的键存在,因此比较的只有值。

参考文章

[1]:版权声明:本文为CSDN博主「来自江南的你」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41556318/article/details/86304872
[2]:版权声明:本文为CSDN博主「YZXnuaa」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/YZXnuaa/article/details/79011795

Python--pygame.Rect相关推荐

  1. python get rect 函数_Python之Pygame.rect函数

    1.参数设置 Pygame 通过 Rect 对象存储和操作矩形区域.一个 Rect 对象可以由 left,top,width,height 几个值创建.Rect 也可以是由 Pygame 的对象所创建 ...

  2. python中rect用法_pyGame中rect对象的方法解释,pygame,Rect,详解

    目录 copy () 功能:复制矩形 属性:copy() -> Rect 返回与原始矩形具有相同位置和大小的新矩形. New in pygame 1.9 move () 功能:移动矩形 属性:m ...

  3. Pygame Rect区域位置(图解)

    Rect(rectangle)指的是矩形,或者长方形,在 Pygame 中我们使用 Rect() 方法来创建一个指定位置,大小的矩形区域.函数的语法格式如下: rect =pygame.Rect(le ...

  4. Python pygame 坦克大战

    Python pygame 坦克大战 import pygame, time, random from pygame.sprite import SpriteSCREEN_WIDTH = 750 SC ...

  5. PYTHON pygame库实战——实现双人弹球小游戏

    PYTHON pygame实战--运用pygame库实现双人弹球小游戏 使用python pygame库实现一个双人弹球小游戏,两人分别控制一个左右移动的挡板用来拦截小球,小球会在两板间不停弹跳,拦截 ...

  6. python pygame 简单小游戏

    python pygame 简单小游戏 最近学习了pygame,感觉十分有意思,花了一点时间制作了一个简单的小游戏 效果图 这是一个很简单的防守类小游戏 玩家可以使用wasd控制人物移动,并且鼠标控制 ...

  7. python pygame 游戏实践: 俄罗斯方块(Tetris Game)第一步

    正在学习俄罗斯方块(Tetris Game)游戏, 主要参考Tetris with PyGame | Python Assets,不过有所修改,原作的class 太复杂, 不好理解, 试图用自己习惯的 ...

  8. 保姆级教学——Python+Pygame怎么实现吃豆豆游戏

    耽搁十几天的时间,我顺利的从阳转阴啦, 以后的日子一切恢复正常,好好工作,积极分享.希望在座的小伙伴阳了的全部健康转阴,没阳的全部不会变阳,新的一年,一切顺顺利利. 不知道最近大家学习得怎么样?有没有 ...

  9. python Pygame库介绍和使用,基本游戏开发

    Pygame的介绍 Pygame是被设计用来写游戏的python模块集合,Pygame是在优秀的SDL库之上开发的功能性包.使用python可以导入pygame来开发具有全部特性的游戏和多媒体软件,P ...

  10. 运用Python+Pygame开发坦克大战游戏_版本V1.01

    这里写目录标题 一.项目整体说明 二.pygame下载方式 三.项目文件 1.坦克大战_框架_1.py 2.坦克大战_开始游戏_窗口设置_2.py 3.坦克大战_事件检测_3.py 4.坦克大战_基本 ...

最新文章

  1. 哪个版本好_《道德经》道尽人生大智慧,哪个版本《道德经》的注释比较好呢?...
  2. 心中有火,前方有光,致敬所有智能车后浪
  3. Java的引用类型(附图说明)
  4. hive -e ,hive -f 用法
  5. Nginx使用SSL配置HTTPS
  6. 快速排序详解以及java实现
  7. 分布式和微服务区别_深度解析spring cloud分布式微服务的实现
  8. vue实战学习第二天
  9. 探索测试 | 新奇深层测试策略之案例剖析(一)
  10. 【UNIX环境高级编程】线程同步
  11. React :caniuse-lite is outdated. please run next command
  12. 【ENVI | Landsat 8】预处理—辐射校正定标
  13. 计算机网络谢希仁课后答案第七版答案完整版
  14. flash 林度_还记得闪客帝国吗?当年有名的 Flash 作者们,现在都去哪儿了?......
  15. python自带的库有哪些_吐血整理!140种Python标准库、第三方库和外部工具都有了...
  16. [技巧]如何绕过MaxtoCode的15天限制
  17. 电脑系统时间服务器地址,电脑时间同步服务器ip地址
  18. CCPC 合肥站 打铁记
  19. python用来自动修改pdf_Python不加班:5分钟学会自动给PDF加水印
  20. 记忆英语单词方法20种

热门文章

  1. 微信小程序-灰度发布
  2. 20160620 盘后复盘
  3. 【本人秃顶程序员】程序员不要去这样的公司
  4. 江苏省2022年普通高校专转本选拔考试 计算机专业大类专业技能 试题卷
  5. 微信小程序之swiper无限轮播实现效果
  6. 在python中怎么定义一个范围_如何定义范围
  7. 计算机视觉常识(研究方向简介、需要的知识储备)
  8. Flink学习1——运行时架构(standalone模式)
  9. Unity的图片轮播
  10. 如何批量转换文件格式