2012-04-09 18 views
5

Considere estas líneas en el bucle de pygame:pygame.event.Event() == tipo pygame.QUIT, confusión

ev = pygame.event.poll() 
ev.type == pygame.QUIT 

Desde: http://openbookproject.net/thinkcs/python/english3e/pygame.html

Por lo que entiendo la función crea una pygame.event.poll() instancia de la clase Event en el módulo de eventos del paquete pygame.

I. Ahora ev.type es una llamada de atributo (?) Pero ¿cómo puedo saber qué valores puede tener? ¿Cómo se puede decir por la documentación de pygame que tiene la posibilidad de igualar pygame.QUIT?

II. ¿Qué es exactamente pygame.QUIT? ¿Cómo obtiene un valor?

III. help('pygame.QUIT') dice pygame.QUIT = class int(object). ¿Cómo llamas a esta construcción?

Respuesta

6
ev = pygame.event.poll() 

es una llamada a una función que devuelve un único evento de la cola de eventos (básicamente, una lista de las cosas que han sucedido que su aplicación podría querer saber acerca). Asigna ese evento (que es un objeto Event) a la variable ev.

ev.type 

obtiene el valor del atributo de type que Event objeto, que es una constante numérica.

== pygame.QUIT 

comprueba para ver si es igual a la constante numérica definida como pygame.QUIT.

Los posibles tipos de eventos se enumeran en http://www.pygame.org/docs/ref/event.html - Tengo copia-pegar la lista aquí también (que también enumera los atributos asociados con cada evento pasado):

QUIT    none 
ACTIVEEVENT  gain, state 
KEYDOWN   unicode, key, mod 
KEYUP   key, mod 
MOUSEMOTION  pos, rel, buttons 
MOUSEBUTTONUP pos, button 
MOUSEBUTTONDOWN pos, button 
JOYAXISMOTION joy, axis, value 
JOYBALLMOTION joy, ball, rel 
JOYHATMOTION  joy, hat, value 
JOYBUTTONUP  joy, button 
JOYBUTTONDOWN joy, button 
VIDEORESIZE  size, w, h 
VIDEOEXPOSE  none 
USEREVENT  code 
4

pygame.QUIT es simplemente una constante int eso sucede que se define dentro del módulo pygame.

>>> import pygame 
>>> pygame.QUIT 
12 

Esta es la página relevante en la documentación: http://www.pygame.org/docs/ref/event.html. Puede ver todos los tipos de eventos posibles (justo encima de los comentarios).

4

pygame.QUIT se envía cuando el usuario hace clic en el botón "X" de la ventana, o cuando el sistema 'pide' que se cierre el proceso. Si se ignora, el sistema puede matarlo. Te permite guardar, antes de dejar de fumar.