pygame中模块说明
参考博客:https://blog.csdn.net/qq_27717921/article/details/53231762
pygame模块概览

1.display模块
功能:生成windows窗口
pygame.display.set_mode(resolution=(0,0),flags=0,depth=0)
返回一个特定大小和属性的surface对象,resolution可以控制生成windows窗口的大小,flags代表的是扩展选项,depath不推荐设置
flags标志位控制你想要什么样的显示屏,主要有下面几个,这几个量相当于是全局的常量,使用的时候可以from pygame.locals import *导入
pygame.FULLSCREEN,控制全屏,0或者1来控制
pygame.HWSURFACE 控制是否进行硬件加速
pygame.RESIZABLE 控制窗口是否可以调节大小
pygame.display.get_caption()
获得窗口的标题
pygame.display.set_caption(title)
设置窗口的标题,title为字符串
pygame.display.flip()
由于双缓冲的原因,需要使用此函数将整个display的surface对象更新到屏幕上去
2.surface模块
说明:surface对象是用于表示图像的图像,只要指定尺寸,就可以利用,可以通过加载图片或者是可以自动创建一个surface对象
加载图像返回的也是一个surface对象,这里可能就会用到image模块
例如:self.image = pygame.image.load('images/star.bmp')
pygame.surface((width,height),flag=0,depth =0,mask = None)
surface.copy()
返回调用实例的副本,也是一个surface对象
pygame.surface.blit(sourse,dest,area = None,special_flag=0)
方法表示将一个surface对象画在另一个surface对象之上
这里的surface不是模块名而是一个创建好了的surface实例,比如之前创建的screen的surface对象,
sourse为要画的surface对象,表示要将哪一个surface对象画在调用的实例上,而dest则是要画在实例surface对象的什么位置,
如果这个参数传入的是一个rect对象,则会取rect对象的左上角的点作为要开始画的地方,而与rect对象的大小是无关的,
后面的area则说明是画其中的一部分,还是完整的画上去。这个参数也可以传一个rect对象
pygame.surface.fill(color)
对surface对象填充某一种颜色,主要是对背景实现填充
surface.get_rect()
返回的是调用实例即为surface对象的rect对象
surface.subsurface(Rect)
传入一个矩形对象,为了返回实例surface对象中矩形的一部分,
新的surface对象将继承他的父亲,颜色以及透明度设置上都继承了它的父对象
surface.set_at((x,y),color) 设置某一像素位置的颜色
surface.get_at((x,y)) 获得某一像素位置的颜色
surface.get_width() 返回surface对象的宽度
surface.get_height() 返回surface对象的高度
3.mouse模块
功能:主要是针对于鼠标事件进行控制
pygame.mouse.get_pos()
获得鼠标指针当前的位置,返回的值为元祖类型,即为(x,y),
返回值与显示屏的Top-Left值是息息相关的。
pygame.mouse.get_rel()
返回的是鼠标距离上一次在横纵轴方向的位移大小
pygame.mouse.set_visible(bool)
设置鼠标是否是可见的
pygame.mouse.get_pressed()
返回一个三元组,都是bool类型的取值来代表用户按下的是(button1,button2,button3)中的哪一个键
pygame.event模块
主要是人机交互时所产生的事件进行控制,
移动鼠标会触犯相关的事件,按下鼠标左键也会触发相关的事件,按下键盘上的某一些键也会触发相关的事件。这里列举一些比较常用的事件
pygame.event.get()
返回的是一个事件列表,可以通过迭代不断从列表中获得事件,根据事件的类型分别进行处理
默认是无参数的,但是也可以传入参数,比如传入某一种事件类型,返回值就是属于这一类型的事件列表,也可以传入一个列表,列表中是需要返回的多个事件类型
例如:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
4.pygame.rect模块
Rect对象是用来存储矩形对象的,
Rect对象有一些虚拟属性,比如top.left,bottom.right这些是用来固定矩形的位置的,还有size,width,height,这些是描述矩形大小,宽高分别是多大,
center为矩形的中心点,其实就是关于横纵坐标的二元组,因此又有centerx,centery两个属性
pygame.Rect(left,top,width,height)或者是pygame.Rect((left,top),(width,height))
生成一个Rect对象
left,top其实就是矩形左上点的横纵坐标,用来控制生成rect对象的位置,而后面的宽度和高度则是用来控制生成矩形的大小尺寸的,也可以传入一个object对象从而生成rect对象
5.pygame.transform模块
pygame.transform.flip(surface,xbool,ybool)
翻转surface对象
第一个参数控制的是需要翻转的对象,而后面两个参数则是控制是在水平方向翻转还是在垂直方向进行翻转,返回的是翻转后的surface对象
6.pygame.font模块
pygame.font.Font(filename,size)
返回font对象,filename要包含图片路径
font.render(text,antialias,color,background=None)
返回的是surface对象,文本并不能直接显示出来,需要先把文本渲染成图片画到另一个surface对象上才能正常的显示出来。
font为对象实例,text参数只能是单行文本,antilalias则是bool类型的值,用来控制文本的边是否是锯齿状的还是圆滑型的。后面分别是文本颜色和文本的背景颜色
补充不完整建议参考博客:
https://blog.csdn.net/fengf2017/article/details/79300801#_231
pygame中模块说明的更多相关文章
- 【python游戏编程之旅】第六篇---pygame中的Sprite(精灵)模块和加载动画
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 直到现在我们已经学了很多pygame基础知识了,从这篇博客开始我们将会学习pygame中高级部分,更多和精灵 ...
- 【python游戏编程之旅】第七篇---pygame中的冲突检测技术
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 上一个博客我们一起学习了pygame中的Sprite模块和如何加载动画:http://www.cnblogs ...
- 【python游戏编程之旅】第四篇---pygame中加载位图与常用的数学函数。
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh ...
- 【python游戏编程之旅】第二篇--pygame中的IO、数据
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇中,我们介绍了pygame的入门操作http://www.cnblogs.com/msxh/p/49 ...
- pygame各个模块概述
在pygame中,有很多模块,每个模块对应着不同的功能,如果我们知道这些模块是做什么的,那么,对我们的游戏开发会起到关键性的作用. 我们就说说pygame中的各个模块吧!!! #pygame modu ...
- python库tkinter、pygame中几点需要注意的问题
恍然之间已经16年快四月份了,已经好久都没有写过东西了.. 最近在用python做一些小的游戏,在网上找了一些Python库,Python中游戏编程最常用的还是pygame了,其次是Tkinter p ...
- JavaScript中模块“写法”
在JavaScript模块到底是什么 event = function() { // do more return { bind: function() {}, unbind: function() ...
- 关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义: 在phpcms系统中自己写后台模块,要在前台模板中显示出来须要在\phpcms\modules\自定义 ...
- Python中模块之os的功能介绍
Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...
随机推荐
- ajax跨域问题小结
跨域:跨域名的访问,是浏览器对ajax的一种限制,这样可以有效的房子跨站攻击 跨域的范畴: 域名不同 或 端口不同 或 二级域名不同 解决方案: 第一种:由于前端基础薄弱,且该方式老掉牙,不讲解: ...
- fscanf_s与scanf_s的宽度参数与缓冲区参数分析
fscanf_s函数 在文件操作中经常会用到fscanf这个函数,但是在VC和VS中会有警告 意思是编译器觉得fscanf不安全,叫你考虑用一下fscanf_s这个函数来代替fscanf,fscanf ...
- liunx----配置搜狗输入法
话不多说直接看步骤 * 系统版本: ubuntu 18.04.1 // 查看命令为: # cat /etc/issue 1. 先查看当前系统是否存在 fcitx 框架: # dpkg -l | gre ...
- WannaCry勒索病毒全解读,权威修复指南大集合
多地的出入境.派出所等公安网络疑似遭遇了勒索蠕虫病毒袭击,已暂时停办出入境业务:加油站突然断网,不能支持支付宝.微信.银联卡等联网支付:大批高校师生电脑中的文件被蠕虫病毒加密,需要支付相应的赎金方可解 ...
- Linux - 变量的查看与设置
printenv - print all or part of environment 显示所有变量:print 显示某个变量:print <variable name> 或者 echo ...
- IDEA里五种目录类型简介(Mark Directory as)
通过File -> Settings-project Structure-Modules 或者右键Mark Directory as可以找到这五种类型. Sources 一般用于标注类似 sr ...
- 物体检测,Error: maximum box coordinate value is too large
使用ssd目标检测,出现error:maximum box coordinate value is larger than 1.100000: ] [1.325] 主要原因在于,用labelImg 标 ...
- web自动化测试---css方式定位页面元素
css方式定位的方法也有很多,相较于xpath更灵活一点,下面就介绍下使用方法(以百度输入框为例) 1.通过tag来定位,可以写成如下: driver.find_element_by_css_sele ...
- underscore.js源码解析【数组】
// Array Functions // --------------- // Get the first element of an array. Passing **n** will retur ...
- mysql 开发进阶篇系列 41 mysql日志之慢查询日志
一.概述 慢查询日志记录了所有的超过sql语句( 超时参数long_query_time单位 秒),获得表锁定的时间不算作执行时间.慢日志默认写入到参数datadir(数据目录)指定的路径下.默认文件 ...