试图理解pygame

时间:2014-09-24 20:02:23

标签: python pygame

我在试图掌握py游戏代码中的一些内容时遇到了麻烦,首先为什么有两种类型的退出或者它们是否相同?例如:

pygame.QUIT 
pygame.quit()

此外,我无法完全掌握这一小块代码:

for event in pygame.event.get():
         if event.type == pygame.QUIT:

我理解第一行代码,但我不理解event.type ?, .type是pygame或python中的函数吗?它做了什么?

3 个答案:

答案 0 :(得分:2)

 pygame.QUIT

是输入的枚举,表示程序退出

pygame.quit()

是一个函数调用卸载pygame模块。根据文件,它实际上不会退出游戏: http://www.pygame.org/docs/ref/pygame.html#pygame.quit 您可以使用sys.exit(0)。

这个循环在这里:

for event in pygame.event.get():
         if event.type == pygame.QUIT:

检查每个事件,如果其中一个事件的值为pygame.QUIT,则应遵循一些退出代码。

答案 1 :(得分:1)

pygame.QUIT只是一个常量,而pygame.quit()pygame模块中未初始化它的函数。代码片段:

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        ...

pygame程序的典型控制循环的一部分。方法pygame.event.get()返回下一个事件。如果事件的类型(事件对象的属性)是pygame.QUIT,那么应用程序应该执行退出所需的操作,包括可能调用pygame.quit()

答案 2 :(得分:-1)

pygame.quit()手册说:

  

取消初始化之前已初始化的所有pygame模块。当Python解释器关闭时,无论如何调用此方法,因此您的程序不应该需要它,除非它想要终止其pygame资源并继续。

所以你通常应该自己调用这个方法。

pygame.QUIT是一种所谓的事件类型。 Pygame使用事件来告诉你发生的事情。代码检查队列中的每个事件,并检查是否发生了QUIT事件。

event.type来自pygame,它告诉你它是什么类型的事件。通过将其与pygame.QUIT进行比较,您可以检查是否已调用quit()方法,并采取措施关闭游戏。