Pygame学习笔记(二):模块导入与初始化
- Python
- 2015-12-21
- 144热度
- 0评论
学习资料:《Import and Initialize》
Pygame是许多不同模块的一个集合。有些模块是用C写的,有些模块是用Python写的。有一些模块是可选的,可能在当前的包中不存在。
下面简单介绍一下,导入Pygame时,到底发生了什么。
导入
首先,我们导入Pygame包。大部分游戏都会用这种方式进行导入:
import pygame
from pygame.locals import *
其中,只有第一行是必须的。它把所有可用的Pygame模块导入到了Pygame包中。第二行是可选的,它把一些有用的常量和函数放到了全局命名空间里。
一定要记住,有几个Pygame模块是可选的。例如,font模块。当你“import pygame
”时,Pygame会检查font模块是否存在。如果存在,则将之导入为“pygame.font
”;如果不存在,则将“pygame.font
”设为None
。
初始化
在你使用Pygame之前,必须先进行初始化。最常用的初始化方式是:
pygame.init()
它会尝试初始化所有Pygame模块,即使有些模块是游戏中不需要的。也可以手动对单个模块初始化,例如,可以用下面的方式初始化font模块:
pygame.font.init()
注意,如果在执行“pygame.init()
”的过程中遇到错误,会直接被忽略(silently fail)。如果是手动初始化过程中遇到错误,则会抛出异常。所有必须进行初始化的模块,都有一个“get_init()
”方法,如果模块初始化成功,它会返回True
。
对任何模块多次调用init()
函数,都是安全的。
退出
初始化之后的模块,通常都有一个quit()
函数用来执行退出操作(clean up)。好消息是,我们不需要显式调用它们,当Python程序执行完毕时,Pygame会干净地退出所有初始化之后的模块。