目录
pygame模块概览
一、Surface对象
二、Rect对象
三、Color对象
四、pygame模块
五、locals模块
六、display模块
七、event模块
八、sprite模块
九、draw模块
十、image模块
十一、font模块
十二、time模块
pygame中的对象:Surface、Rect、Color、BufferProxy、Overlay、PixelArray
pygame中的模块:pygame、display、draw、event、font、image、key、locals、mixer、mouse、time、music、cursors、joystick、mask、sprite、transform、freetype、gfxdraw、midi、pixelcopy、sndarray、surfarray、math、camera、cdrom、examples、fastevent、scrap、tests、touch、version
功能:在Pygame中窗口和图片都称为Surface,所谓Surface对象在Pygame中就是用来表示图像的对象。Surface 对象具有固定的分辨率和像素格式。Surface 对象通过 8 位索引调色板的 24 位色彩。
属性:
调用pygame.Surface()可以创建新的图像对象。只需要指定尺寸参数,就能调用 pygame.Surface() 创建一个新的图像对象,创建出来的 Surface 默认是全黑色。如果没有指定其他参数,将创建出最适合当前显示器的 Surface 对象。flags 参数是 Surface 对象额外功能的掩码(HWSURFACE:将创建出来的 Surface 对象存放于显存中/SRCALPHA:每个像素包含一个 alpha 通道)。像素格式可以通过传递 depth 参数或一个已存在的 Surface 对象来控制。高级用法可以结合 masks 和 depth 参数,masks 是由 4 个整数组(R, G, B, A),将于每个像素的颜色进行按位与计算。通常,Surface 对象不需要 masks 参数。
其他:
方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106188615
功能:用来存储和操作矩形区域的对象。
属性:
其他:
x,y |
top, left, bottom, right |
topleft, bottomleft, topright, bottomright |
midtop, midleft, midbottom, midright |
center, centerx, centery |
size, width, height(会更改矩形的尺寸) |
w,h |
如果Rect的宽度或高度为非零,则对于非零测试,它将返回True。部分方法返回一个0大小的矩形来表示无效的矩形,当使用碰撞检测方法(例如collide point()、collide Rect()等)时,大小为0的矩形不会发生碰撞。
Rect对象的坐标都是整数。可以将大小值编程为负值,但对于大多数操作,这些值都被视为非法矩形。
几个碰撞测试用于多个矩形之间。大多数python容器都可以进行与单个Rect的碰撞测试。
矩形覆盖的区域不包括像素的最右边和最下面的边。如果一个Rect的下边框是另一个Rect的上边框(即rect1.bottom = rect2.top),则两个在屏幕上完全相交但不重叠,rect1.colliderect(rect2)返回false。
pygame 1.9.2中的新特性:Rect类可以是子类。copy()和move()等方法将识别此对象并返回子类的实例。但是,子类的__init__()方法不被调用,并且假定__new__()不带参数。因此,如果需要复制任何额外的属性,则应重写这些方法。
方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106191623
功能:Color类使用0到255(含)的值范围表示RGBA颜色值。
参数:
支持表示颜色值(color_value)的数据类型:
参考:http://www.pygame.org/docs/ref/color.html
功能:pygame包表示供其他人使用的top-level包。Pygame本身被分解成许多子模块,但这并不影响使用Pygame的程序。为了方便起见,pygame中的大多数顶级变量都放在名为pygame.locals的模块中。除了import pygame之外,此模块还用于from pygame.locals import*命令下。
方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106198268
功能:此模块包含pygame使用的各种常量(例如flags,HWSURFACE)。它的内容会自动放在pygame模块的名称空间中。应用程序可以通过from pygame.locals import *使用pygame.locals带有的pygame常量。
功能:生成windows窗口,提供对pygame显示的控制。
方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106208691
功能:Pygame通过事件队列处理其所有事件消息。
事件类型及其属性列表:
QUIT none
ACTIVEEVENT gain, state
KEYDOWN key, mod, unicode, scancode
KEYUP key, mod
MOUSEMOTION pos, rel, buttons
MOUSEBUTTONUP pos, button
MOUSEBUTTONDOWN pos, button
JOYAXISMOTION joy, axis, value
JOYBALLMOTION joy, ball, rel
JOYHATMOTION joy, hat, value
JOYBUTTONUP joy, button
JOYBUTTONDOWN joy, button
VIDEORESIZE size, w, h
VIDEOEXPOSE none
USEREVENT code
New in pygame 1.9.2.
在MacOSX上,当使用pygame应用程序打开文件时,将生成一个USEREVENT
其代码属性被设置为pygame.USEREVENT_DROPFILE
文件。还有一个名为 filename
的附加属性,用于存储要访问的文件的名称。
USEREVENT code=pygame.USEREVENT_DROPFILE, filename
New in pygame 1.9.5.
使用SDL2编译时,pygame具有这些附加事件及其属性。
AUDIODEVICEADDED which, iscapture
AUDIODEVICEREMOVED which, iscapture
FINGERMOTION touch_id, finger_id, x, y, dx, dy
FINGERDOWN touch_id, finger_id, x, y, dx, dy
FINGERUP touch_id, finger_id, x, y, dx, dy
MULTIGESTURE touch_id, x, y, pinched, rotated, num_fingers
TEXTEDITING text, start, length
TEXTINPUT text
New in pygame 2.0.0.
pygame可以识别掉在窗口中的文本或文件。如果文件被删除,文件将是其路径。DROPTEXT事件仅支持X11。
DROPBEGIN
DROPCOMPLETE
DROPFILE file
DROPTEXT text
New in pygame 2.0.0.
事件仅在pygame.midi中使用。
MIDIIN
MIDIOUT
方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106233187
说明:这个模块包含几个简单的类,有主Sprite类和几个包含sprite的组类。这些类相当轻量级,只为大多数游戏通用的代码提供了一个起点。
功能:“sprite”,中文翻译“精灵”,在游戏动画一般是指一个独立运动的画面元素,在pygame中,就可以是一个带有图像(Surface)和大小位置(Rect)的对象。
Group.draw()
方法要求每个精灵都有一个 Surface.image
属性和一个 Surface.rect
属性。 Group.clear()
方法同样需要这些属性,此方法可用于删除所有带背景的精灵。还有更高级的组类: pygame.sprite.RenderUpdates()
and pygame.sprite.OrderedUpdates()。
Surface.rect
属性。add()
和 remove()
方法管理它们的关系。这些方法可以接受一个或多重的成员身份或目标。这些类的默认初始设定是将单个目标或一个目标列表视为初始成员身份。重复添加和删除组类中的同一个精灵是安全的。方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106252900
功能:在一个Surface上画几个简单的形状。这些函数将用于渲染为任何格式的Surface。渲染到硬件surfaces将比常规软件surfaces慢。
|
pygame.Surface.lock()
)注意:替换draw模块可参见 pygame.gfxdraw模块。
方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106275344
功能:图像模块包含加载和保存图片以及将Surface转换为其他包可用的格式的功能。
pygame.image.load()
下载函数可以支持以下格式:
|
|
方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106288584
说明:font模块带有内置的字体,也允许将TrueType字体呈现到新的Surface对象中。它接受任何 UCS-2 字符 ('u0001' to 'uFFFF')。此模块需要 SDL_ttf 作为依赖项。需要在尝试使用 pygame.font
模块之前测试可用并已完成初始化。
功能:
pygame.font.Font()
创建字体对象。pygame.font.SysFont()
函数从系统中加载字体。还有一些函数可以帮助查找系统字体。pygame.ftfont
的 pygame.freetype
作为 pygame.font
需在第一次导入 pygame
之前定义环境变量 PYGAME_FREETYPE 。模块 pygame.ftfont
字体是一个 pygame.font
兼容的模块,它通过所有字体模块单元测试(只有一个除外):它没有基于 SDL_ttf 字体模块的 UCS-2 限制,因此无法对大于“uFFFF”的代码点引发异常。如果 pygame.freetype
不可用,则将加载 SDL_ttf 字体模块。方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106330594
功能:pygame中的时间以毫秒(1/1000秒)表示。大多数平台的时间分辨率都在10毫秒左右。此分辨率(以毫秒为单位)在 TIMER_RESOLUTION
常数中给定。
方法详解:https://blog.csdn.net/Rita_Aloha/article/details/106353482
pygame官方文档入口:https://www.pygame.org/docs/
其他参考文档: