python中pygame是个什么模块_Pygame的几个模块

这篇博客主要是从功能上介绍几个Pygame的模块,没有深入到代码细节。大部分内容来自《Python基础教程》。

pygame

pygame模块会自动导入其他Pygame模块,所以如果用了 import pygame,就能自动访问其他模块,比如pygame.display等。

pygame模块包括Surface函数(和一些其他工具),它可以返回一个新的Surface对象。Surface对象就是一个有确定尺寸的空图像,可以用来进行图像绘制和移动。移动(blit方法)只意味着将内容从一个表面转移到另外一个表面上面。单词blit是从属于block transfer的缩写BLT衍生而来。

init函数式Pygame游戏的核心。它必须在进入游戏的主事件循环之前调用,它会自动初始化其他所有模块。

如果需要捕捉Pygame特有的错误时,还需要error类。

pygame.locals

pygame.locals模块包括在你自己的模块作用域内使用的名字(变量),还包括事件类型、键和视频模式等的名字。在导入所有内容(from pygame.locals import *)时它用起来是很安全的。如果你知道自己需要的内容,也可以导入更加具体的内容(比如 from pygame.locals import FULLSEREEN)。

pygame.display

pygame.display模块包括处理Pygame显示方式的函数,其中包括普通窗口和全屏模式。比如有这些函数:

flip:更新显示。一般来说,当修改当前屏幕的时候需要经过两个步骤。首先,需要对get_surface函数返回的Surface对象进行所有需要的修改。然后调用pygame.display.flip更新显示  以反映你的修改。

update:在只想更新屏幕一部分的时候使用update函数,而不是flip函数。它可以从RenderUpdates类的draw方法中返回的矩形列表一起使用。

set_mode:设定显示的类型和尺寸。会返回一个Surface对象,代表了在桌面上出现的那个窗口,三个参数第一个为元祖,代表分 辨率(必须);第二个是一个标志位,具体意思见下  表,如果不用什么特性,就指定0;第三个为色深。

标志位功能

FULLSCREEN

创建一个全屏窗口

DOUBLEBUF

创建一个“双缓冲”窗口,建议在HWSURFACE或者OPENGL时使用

HWSURFACE

创建一个硬件加速的窗口,必须和FULLSCREEN同时使用

OPENGL

创建一个OPENGL渲染的窗口

RESIZABLE

创建一个可以改变大小的窗口

NOFRAME

创建一个没有边框的窗口

set_caption:设定Pygame程序的标题,当游戏以窗口模式运行时,显示为窗口的标题。

get_surface:在调用pygame.display.flip或者pygame.display.blit前返回一个可用于画图的Surface对象。

pygame.font

pygame.font模块包括Font函数。字体对象用于表现不同的字体,可以用于将文本生成为可以再Pygame中用作普通图像的图像。

pygame.sprite

pygame.sprite模块包括两个非常重要的类:Sprite和Group。

Sprite类是所有可视游戏对象的基类,有过游戏编程经验甚至只是玩过游戏的人应该都知道“精灵”这个词,其实Sprite就是精灵。为了实现自己的游戏对象,需要子类化Sprite,覆盖它的构造函数以设定image和rect属性(决定Sprite的外观和放置的位置),再覆盖update方法,在Sprite需要更新的时候可以调用。

Group类的实例(和它的子类)用作Sprite对象的容器。一般来说,使用group类还是不错的作法。在一些简单的游戏中,只要创建名为sprites或者allsprites或者其他类似的组,然后将所有的Sprite对象添加到上面即可。当调用Group对象的update方法时,它就会自动调用所有Sprite对象的update方法。Group对象的clear方法用于清理它包含的所有Sprite对象(使用回调函数实现清理),draw方法可以用于绘制所有的Sprite对象。

pygame.mouse

关于鼠标的模块,可以设置参数、获取信息等。如可以使用pygame.mouse.set_visible来设置光标是隐藏还是可见,用pygame.mouse.get_pos来获取鼠标的位置。

pygame.event

pygame.event模块会追踪鼠标单击、鼠标移动、按键按下和释放等事件。使用pygame.event.get可以获取最近事件列表。

pygame.image

这个模块用于处理保存在GIF、PNG或JPEG等文件内的图像。pygame.image.load函数用来读取图像文件,并且创建包括该图像的Surface对象。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值