py 第三十五天 Pygame1:pygame

一、介绍

pygame是Pygame最顶层的包

二、函数&属性

选项 含义
pygame.init() 初始化所有导入的 pygame 模块
pygame.quit() 卸载所有导入的 pygame 模块
pygame.error() 标准 pygame 异常模块
pygame.get_error() 获得当前错误信息
pygame.set_error() 设置当前错误信息
pygame.get_sdl_version() 获得 SDL 的版本号
pygame.get_sdl_byteorder() 获得 SDL 的字节顺序
pygame.register_quit() 注册一个函数,这个函数将在 pygame 退出时被调用
pygame.encode_string() 对 unicode 或字节对象编码
pygame.encode_file_path() 将 unicode 或字节对象编码为文件系统路径

为了方便,在 pygame中绝大多数的顶级变量被放入名为pygame.locals的模块中。可以使用以下方法来导入,这样可以直接进行使用而不需要加上pygame.

import pygame
from pygame.locals import *

当你导入pygame 后,所有可用的pygame子模块都将自动被导入。需要注意的是,一些pygame 模块是“可选的”,并且可能无法使用。以防万一,Pygame将提供了一个占位符对象替代原来的模块,这个对象可用来测试某些功能(变量)是否可用。

三、函数详解

pygame.init()

用于初始化所有导入的 pygame 模块。
init() -> (numpass, numfail)
初始化所有导入的pygame模块,如果有模块导入失败也不会显示异常,但是将返回一个元组,第一个元素为成功导入的模块数,第二个元素为导入失败的个数。
也许你想分开初始化不同的模块,以提高你程序的运行速度,或者不加载暂时用不到的模块。
重复调用 init()方法是没问题的,也不会有任何负面影响。即使你已经调用了 pygame.quit() 卸载所有模块也是可以的。

pygame.quit()

卸载所有导入的 pygame模块。
quit() -> None
卸载所有之前被初始化的 pygame 模块。当 python 解释器关闭时,这个方法将被无条件地调用,所以你的程序并不需要调用这个方法,除非你想要终止 pygame 资源,并继续执行其他功能。多次执行这个方法也是没有问题的。
注意:调用这个方法 pygame.quit()会结束所有模块,但不会结束你的程序。建议用正常结束 python 程序的方法来结束 pygame 程序。比如:

sys.exit()

exception pygame.error

标准的 pygame异常。
raise pygame.error(message)
pygameSDL操作失败时,将会引发异常。你可以捕获任何可预见的问题并处理异常。报告异常时,会同时显示问题的描述信息。
它是 RuntimeError异常的子类,用于捕获这些异常。

pygame.get_error()

得到当前错误信息。
get_error() -> errorstr
获取 SDL 维护的一个内部错误消息。当标准 pygame.error()标准pygame 异常引发时,这些信息将会提供给你。
其实你很少会使用到这个方法的啦。

pygame.set_error()

设置当前错误信息。
set_error(error_msg) -> None
设置 SDL维护的一个内部错误消息。当标准pygame.error() 标准 pygame 异常引发时,这些信息将会提供给你。
其实你很少会使用到这个方法的啦。

pygame.get_sdl_version()

获得 SDL 的版本号。
get_sdl_version() -> major, minor, patch
返回 SDL 库有关版本的 3 个数字。这个版本是在编译时生成的。这个方法可用来得知哪个元件是不能正常使用的。
Pygame 1.7.0 新添加的方法。

pygame.get_sdl_byteorder()

获得 SDL 的字节顺序。
get_sdl_byteorder() -> int
获得 SDL库的字节顺序。返回LIL_ENDIAN表示小端字节顺序;返回 BIG_ENDIAN 表示大端字节顺序。
Pygame 1.8 新添加的方法。

pygame.register_quit()

注册一个函数,这个函数将在 pygame 退出时被调用。
register_quit(callable) -> None
当调用 pygame.quit()结束所有模块时,所有通过register_quit()方法注册过的函数将被调用。这一切都是自动执行的。
一般的pygame 用户用不到这个方法。

pygame.encode_string()

unicode 或字节对象进行编码。
encode_string([obj [, encoding [, errors [, etype]]]]) -> bytes or None

obj:
传入 unicode 类型 -> 编码
传入bytes 类型 -> 不变
传入其他类型 -> 返回None
没有传递 obj参数 -> 引起 SyntaxError 异常

encoding (string):如果存在则进行编码,默认是 unicode_escape
errors (string):指定如何处理无法编码的内容,默认使用反斜杠\代替。
etype (exception type):指定编码错误引发的异常类型。默认为 UnicodeEncodeError,由PyUnicode_AsEncodedString()返回。对于默认的编码和错误值不应该有编码错误。
这个函数被用于编码文件路径的时候,支持使用关键字参数。

Pygame 1.9.2 新增加的方法(主要用于单元测试)。

pygame.encode_file_path()

unicodebytes 对象编码为文件系统路径。
encode_file_path([obj [, etype]]) -> bytes or None

obj:
传入 unicode类型 -> 编码
传入bytes 类型 -> 不变
传入其他类型 -> 返回 None
没有传递obj参数 -> 引起 SyntaxError异常

etype(异常类型):若给出,则出现异常时报相应编码错误,默认为 UnicodeEncodeError,由 PyUnicode_AsEncodedString()返回。

这个函数被用于编码文件路径的时候,结果由 sys.getfilesystemencoding()返回,支持使用关键字参数。

Pygame 1.9.2 新增加的方法(主要用于单元测试)。

https://fishc.com.cn/forum.php?mod=viewthread&tid=62185&extra=page%3D1%26filter%3Dtypeid%26typeid%3D605

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269