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) |
Partager