我读过/看过的每个 pygame 教程都说在你考虑做任何其他事情之前将“pygame.init()”挤进你的代码中。显然,它初始化 pygame 模块或其他东西,这似乎很重要。
直到我想从我的代码中删除 'pygame.init()' 行,只是为了看看会发生什么。瞧,我的游戏完全一样。
我上网,再一次,无论我走到哪里,我都被告知 'pygame.init()' 是必要的。但不,显然不是,因为我只是从我的代码中取出它,它工作得很好。
所以,不用说,我很困惑。如果有人解释,我将不胜感激:
a) pygame.init() 的功能
b) pygame 程序中是否需要它。如果是,那么为什么我的游戏可以工作,如果不是,那么什么时候需要它?
c) 你认为我应该知道的任何其他事情
pygame.init() 初始化所有导入的 pygame 模块。如果模块失败,则不会引发任何异常,但如果成功和失败,inits 的总数将作为元组返回。您始终可以手动初始化单个模块,但 pygame.init() 初始化所有导入的 pygame 模块是一种开始一切的便捷方式。各个模块的 init() 函数在失败时会引发异常。
此外,在这里我们可以看到在开始时这样做是安全的:
多次调用此 init() 是安全的,因为重复调用将不起作用。即使您拥有 pygame.quit() 所有模块,也是如此。
最后,我认为为什么总是在开始时使用它的主要原因:
这将尝试为您初始化所有 pygame 模块。并非所有 pygame 模块都需要初始化,但这会自动初始化需要初始化的模块。
所以主要结论是pygame.init()安全地初始化所有导入的 pygame 模块,而不管这些模块是否确实需要初始化;但由于它对那些这样做的人有用,它省去了单独手动初始化每个模块的麻烦。
| 归档时间: |
|
| 查看次数: |
4232 次 |
| 最近记录: |