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

rect =pygame.Rect(left,top,width,height) 

Rect 表示的区域必须位于一个 Surface 对象之上,比如游戏的主窗口(screen)。上述方法由四个关键参数值构成,分别是 left、top、width、height,为了方便大家理解这些距离的含义,下面给出了一张示意图:

注意:在 Pygame 中以游戏主窗口的左上角为坐标原点。

下面看一组简单的使用示例,如下所示:


*   import pygame*   pygame.init()
*   screen = pygame.display.set_mode((500,300))*   pygame.display.set_caption('python教程入门学习')*   image_surface = pygame.image.load("C:/Users/Administrator/Desktop/c-net.png")
*   rect1 = pygame.Rect(50,50,100,100)
*   # 在原图的基础上创建一个新的子图(surface对象)
*   image_child= image_surface.subsurface(rect1)
*   rect2 = image_child.get_rect()
*   #输出的矩形大小为 100*100
*   print(rect2)
*   while True:
*   for event in pygame.event.get():
*   if event.type == pygame.QUIT:
*   exit()
*   #在屏幕上显示子图的区域
*   screen.blit(image_child,rect1)
*   pygame.display.update()

程序的运行结果如下:

图1:程序运行结果

从上述运行结果可以看出,我们在图片上截取了一个和 rect1 同样大小的矩形区域(100*100)。

Rect(矩形区域)对象还提供了一些常用方法。如下表所示:

同时 Rect 对象也提供了一些关于矩形大小的常用的属性,如下所示:

x,y  表示矩形距离 x、y 轴的距离
top, left, bottom, right #在坐标系内描述矩形的大小
topleft, bottomleft, topright, bottomright #返回一个描述矩形大小的元组
midtop, midleft, midbottom, midright #返回一个描述矩形大小的元组
center, centerx, centery #(centerx,centery)表示矩形中央坐标(x,y)的值
size, width, height
w,h  #用于描述矩形的width、height

下面看一组简单的示例演示,如下所示:


1.  import  pygame
2.  # 对应left/top/width/height
3.  rect1 = pygame.Rect(0,0,100,100)
4.  print('x的值是{};y的值是{}'.format(rect1.x,rect1.y))
5.  print('bottom的值是{};right的值是{}'.format(rect1.bottom,rect1.right))
6.  # 设置居中的距离
7.  print(rect1.center,rect1.centerx,rect1.centery)
8.  # 返回值为 (centerx,top)
9.  print(rect1.midtop)
10.  # 返回值为 (right,centery)的元组
11.  print(rect1.midright)
12.  # 返回值为(left,bottom)
13.  print(rect1.bottomleft)
14.  # 返回矩形区域大小,元组格式
15.  print(rect1.size)

输出结果如下:

x的值是0;y的值是0
bottom的值是100;right的值是100
#设置中心努力
(50, 50) 50 50
(50, 0)
#midright
(100, 50)
#bottomleft
(0, 100)
#size
(100, 100)

我们还可以通过属性对来设置,或者者更改矩形区域的大小,如下所示:


*   rect1.left = 30
*   rect1.center = (70,70)

除了通过 Rect 对象来构造一个矩形区域之外,我们还可以使用rect属性来构建一个矩形区域。在 Pygame 中有许多函数都提供了rect属性,比如有下列函数:

surface.fill((0,0,255),rect=(100,100,100,50))

上述代码会在 surface 对象的区域内选定一个 rect 区域,并将该区域填充为蓝色(RGB(0,0,255))。

Pygame Rect区域位置(图解)相关推荐

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

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

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

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

  3. pygame.rect中 Rect类 属性示意

    部分pygame.rect源代码如下 class Rect(object):x: inty: inttop: intleft: intbottom: intright: inttopleft: Tup ...

  4. 蓝光光盘的区域位置代码

    蓝光光盘可以使用区域位置代码进行编码,目的与DVD区域代码相同,旨在限制光盘所能播放的地理区域,在某些地区销售的蓝光播放机可能只能播放具有该地区区域代码的光盘.这个制度的目的是使电影制片厂根据地区的不 ...

  5. 怎么制作睡袋rust_创造与魔法让小伙伴复活的睡袋制作材料和其放置的位置图解...

    创造与魔法让小伙伴复活的睡袋制作材料和其放置的位置图解,睡袋是这个游戏中非常重要的一个物品,能让小伙伴复活,很多小伙伴都想获得这个.一起来看看创造与魔法让小伙伴复活的睡袋制作材料和其放置的位置吧. 创 ...

  6. 小提琴1234567位置图解_小提琴1234567位置图解 琴不在身边不然可以直接给你看

    聊到小提琴,我们很多人都知道,有人问小提琴1234567位置图解,另外,还有人问小提琴1234567位置图解,这到底是咋回事?其实小提琴1234567位置图解呢,今天我们就来看看小提琴1234567位 ...

  7. 手机的串号IMEI/ESN标示位置图解-摩托罗拉官方教程

    手机的串号IMEI/ESN标示位置图解-摩托罗拉官方教程 2012-01-01 19:47:26 作者:佚名  http://www.pksou.cn/html/wzck/js/tx/2744.htm ...

  8. 小提琴1234567位置图解_小提琴1234567位置图解

    说到小提琴,相信大家应该都不会陌生,经常有人问我小提琴1234567位置在哪里,也有人找我要1234567位置图解,这令我非常的纳闷.今天小编为你们整理的小提琴1234567位置图解,应该会对大家有所 ...

  9. web手势库AlloyFinger运用( 控制CANVAS中图片移动、缩放、旋转) - 可编辑图片指定区域位置

    注: 苹果手机升级IOS14.1系统后,出现图片写入不了CANVAS画布问题 解决方法:alloy_paper.js 文件查找代码: this.img.crossOrigin = "Anon ...

最新文章

  1. python异常机制
  2. 【MySQL】面试官:如何添加新数据库到MySQL主从复制环境?
  3. windows下使用cmd查看连接过的wifi密码
  4. vba 跳出for循环_VBA简单入门08:For循环
  5. ES6 Generator async
  6. img、列表和table标签
  7. SCPPO(二十六):测算过程中问题的解决总结
  8. 学习笔记-SNN用STDP法的MNIST数据集识别代码深入阅读
  9. NanoPC-T4|Android-Q 色温调节
  10. 大数据,why python
  11. LabVIEW与MATLAB混合编程——调用Matlab中.m的函数
  12. 从零开始学习InfluxDB:安装和使用入门教程
  13. ROS2机器人实验报告提示02➡沼泽⬅
  14. GMT对应的SimpleDateFormat
  15. firefox 绿色护眼
  16. Java程序员必看的20本书,从入门到精通!收藏
  17. WPF登录界面及程序主界面设计
  18. 英雄远征Erlang源码分析(11)-物品相关操作解析
  19. 存货核算恢复期初记账
  20. java面向对象编程总结

热门文章

  1. 新手必看,17 个常见的 Python 运行时错误
  2. 在闲鱼传疯了,某大厂P8面试题库泄漏!
  3. 清华大学计算机博士,带你搞定大厂面试题
  4. 90 后女科学家,四年完成清华大学硕博连读,解决多个世界级难题
  5. 视学算法第六轮送书活动,16本高质量书免费拿走!
  6. 【机器学习】如何简单形象又有趣地讲解神经网络是什么?
  7. 脚本文件直接执行python代码
  8. 解决 复制虚拟机无法上网 看不到IP地址
  9. 改名之后的Java EE,现在有什么新进展?
  10. CUDA FORTRAN编译器