Voici comment je mettre en œuvre mes simples pygames maintenant:Comment est cette structure de base de pygame?
import pygame, sys
from pygame.locals import *
def run_game():
pygame.init()
SIZE = (640, 400)
BG_COLOUR = (0, 0, 0)
LINE_COLOUR = (255, 255, 255)
screen = pygame.display.set_mode(SIZE)
clock = pygame.time.Clock()
while True:
time_passed = clock.tick(30)
for event in pygame.event.get():
if event.type == QUIT:
exit_game()
screen.fill(BG_COLOUR)
pygame.draw.aaline(screen, LINE_COLOUR, (1, 1), (639, 399))
pygame.display.flip()
def exit_game():
sys.exit()
if __name__ == "__main__"
run_game()
J'ai aussi vu un drapeau keeprunning
utilisé pour sortir de la boucle principale de l'événement au lieu, ainsi que l'utilisation pygame.event.poll()
au lieu de bouclage pygame.event.get()
. Des suggestions, comme le cas/nommer des variables, quelque chose pour le rendre plus efficace ou lisible?
> "Je suggère d'éviter de ... importer *:". 'pygame.locals' existe précisément pour cet usage. Il contient un certain nombre de constantes très fréquemment utilisées, principalement des keycodes et des types d'événements. – SingleNegationElimination
Les onglets/espace 4/8 mix étaient un accident. J'utilise des tabulations, pas des espaces, car dans le jEdit avec des espaces, je dois reculer de 4 fois pour monter d'un niveau d'indentation contre une fois avec des tabulations. Je peux facilement les convertir tous à des espaces à tout moment, cependant. – mk12
Et la chose du dictionnaire, pas tous les cas ont seulement une déclaration qui est un appel de méthode, alors comment cela fonctionnerait-il? Je ne suis pas sûr de la partie importatrice, pourquoi disent-ils dans les docs: "Pour la commodité, la plupart des variables de haut niveau dans pygame ont été placées dans un module nommé" pygame.locals ". utilisé avec 'from pygame.locals import *', en plus de 'import pygame'. " ? Merci d'avoir pris le temps de répondre, je vais regarder ce que vous avez dit à nouveau. – mk12