Pygame: Ce code est-il correctement écrit?
Bonjour.
Dans le cadre de la rédaction d'un article sur kivy vs pygame, j'ai besoin de savoir si le code suivant est correctement écrit et s'il pourrait être écrit plus synthétiquement?
Ne maîtrisant pas pygame, j'aimerai votre avis. Merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| import pygame
import sys
# Initialisation de Pygame
pygame.init()
# Paramètres de la fenêtre
screen_width, screen_height = 800, 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption('Pygame Animation')
# Couleurs et police
black = (0, 0, 0)
white = (255, 255, 255)
font_size = 60
font = pygame.font.Font(None, font_size)
# Variables d'animation
opacity = 255
fade_speed = 5
fade_in = True
clock = pygame.time.Clock()
fade_duration = 2000 # Durée en millisecondes pour une phase d'animation (fondu en entrée ou en sortie)
last_update_time = pygame.time.get_ticks()
# Fonction pour dessiner le texte avec une opacité donnée
def render_text_with_alpha(text, alpha):
text_surface = font.render(text, True, white)
text_surface.set_alpha(alpha)
return text_surface
# Boucle principale
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# Mise à jour de l'opacité
current_time = pygame.time.get_ticks()
elapsed_time = current_time - last_update_time
if elapsed_time >= fade_duration:
fade_in = not fade_in
last_update_time = current_time
if fade_in:
opacity = min(opacity + fade_speed, 255)
else:
opacity = max(opacity - fade_speed, 0)
# Dessin
screen.fill(black)
text_surface = render_text_with_alpha("Hello Pygame!", opacity)
text_rect = text_surface.get_rect(center=(screen_width // 2, screen_height // 2))
screen.blit(text_surface, text_rect)
pygame.display.flip()
# Limiter les FPS
clock.tick(60) |