热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pygame中模块说明

参考博客:https:blog.csdn.netqq_27717921articledetails53231762pygame模块概览1.display模块

 参考博客: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

 


推荐阅读
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 1.RoIPoolingRoIPooling顾名思义对Roi进行Pooling操作,主要用于目标检测任务。RoI(Regionofinterest&# ... [详细]
author-avatar
大眼睁睁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有