2012-04-09 18 views
5

Considerare questi righe nel ciclo Pygame:pygame.event.Event tipo() == pygame.QUIT, confusione

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

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

Da quello che ho capito la funzione crea un pygame.event.poll() istanza della classe Event nel modulo eventi del pacchetto pygame.

I. Ora ev.type è una chiamata di attributo (?), Ma come faccio a sapere quali valori può avere? Come puoi anche dire dalla documentazione di pygame che ha la possibilità di eguagliare pygame.QUIT?

II. Cos'è esattamente pygame.QUIT? Come ottiene un valore?

III. help('pygame.QUIT') dice pygame.QUIT = class int(object). Come si chiama questa costruzione?

risposta

6
ev = pygame.event.poll() 

è una chiamata a una funzione che restituisce un singolo evento dalla coda degli eventi (in pratica, un elenco di cose che sono successe che l'applicazione potrebbe desiderare di conoscere). Assegna quell'evento (che è un oggetto Event) alla variabile ev.

ev.type 

ottiene il valore dell'attributo type di tale Event oggetto, che è una costante numerica.

== pygame.QUIT 

controlla per vedere se è uguale alla costante numerica definita come pygame.QUIT.

I possibili tipi di eventi sono elencati http://www.pygame.org/docs/ref/event.html - ho copia-incollato la lista qui pure (che elenca anche gli attributi associati passati con ogni evento):

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 è solo una costante int che è definito nel modulo pygame.

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

Questa è la pagina pertinente nella documentazione: http://www.pygame.org/docs/ref/event.html. Puoi vedere tutti i possibili tipi di eventi (appena sopra i commenti).

4

pygame.QUIT viene inviato quando l'utente fa clic sul pulsante "X" della finestra o quando il sistema "chiede" che il processo venga chiuso. Se ignorato, può ancora essere ucciso dal sistema. Ti consente di salvare, prima di uscire.