pygame.init()到底是做什么的?

时间:2019-11-15 00:15:42

标签: python pygame

我读过/看过的每本pygame教程都说过要在考虑做其他事情之前将pygame.init()压缩到您的代码中。显然,它会初始化pygame模块或类似的东西。

直到我想到从代码中删除“ pygame.init()”行,只是为了看看会发生什么。瞧,我的游戏完全一样。

我上网了,每到一个地方,我都会被告知'pygame.init()'是必要的。但是不,显然不是,因为我只是从我的代码中删除了它,效果很好。

所以,不用说,我很困惑。如果有人解释,我将不胜感激。

a)pygame.init()的功能

b)pygame程序中是否需要它。        如果是的话,为什么我的游戏能正常工作        如果不是,那么什么时候需要?

c)您认为我应该知道的其他事情

1 个答案:

答案 0 :(得分:3)

来自www.pygame.org

  

pygame.init()   初始化所有导入的pygame模块。如果模块发生故障,则不会引发异常,但是如果成功和失败的初始化总数将作为元组返回。您总是可以手动初始化单个模块,但是pygame.init()初始化所有导入的pygame模块是一种开始一切的便捷方法。各个模块的init()函数在失败时会引发异常。

此外,在这里我们可以看到一开始就很安全:

  

多次调用此init()是安全的,因为重复调用无效。即使您拥有pygame.quit()所有模块,也是如此。

最后,我认为为什么总是在开始时使用它的主要原因:

  

这将尝试为您初始化所有pygame模块。并非所有pygame模块都需要初始化,但这会自动初始化那些模块。

因此,主要结论是pygame.init()安全地初始化了所有导入的pygame模块,无论模块是否实际需要初始化;但是,由于这样做的确有用,因此省去了手动手动初始化每个模块的麻烦。