j'essaye de débuter avec pygames et j'ai codé un algorithme qui permets de contrôler un sprite en forme de voiture et qui change de frame en fonction des flèches cliquées seulement quand je lance le code la voiture n'apparait pas dans la fenêtre . J'ai tout essayé mais rien n'y fait , est ce que quelqu'un pourrait m'éclairer ? Merci d'avance .
Voici mon code :
import pygame
import sys
# Initialisation de pygame
pygame.init()
# Définir la taille de la fenêtre
width = 800
height = 600
window = pygame.display.set_mode((width, height))
pygame.display.set_caption("Asphalt X")
# Charger les différentes images de la voiture pour l'animation
try:
car_up_image = pygame.image.load('car_up.png').convert_alpha()
car_down_image = pygame.image.load('car_down.png').convert_alpha()
car_left_image = pygame.image.load('car_left.png').convert_alpha()
car_right_image = pygame.image.load('car_right.png').convert_alpha()
except pygame.error:
print("Error: Unable to load the car images.")
sys.exit()
# Redimensionner les images de la voiture
width_car, height_car = car_up_image.get_rect().size
car_up_image = pygame.transform.scale(car_up_image, (width_car * 5, height_car * 5))
car_down_image = pygame.transform.scale(car_down_image, (width_car * 5, height_car * 5))
car_left_image = pygame.transform.scale(car_left_image, (width_car * 5, height_car * 5))
car_right_image = pygame.transform.scale(car_right_image, (width_car * 5, height_car * 5))
x = 100
y = 100
speed = 10
clock = pygame.time.Clock() # Déclaration de l'objet Clock
# Afficher l'image de la voiture au début du jeu
window.blit(car_up_image, (x, y))
pygame.display.flip() # Forcer l'affichage
def handle_input():
# Récupérer les touches enfoncées
keys = pygame.key.get_pressed()
# Gérer les événements
if keys[pygame.K_UP]:
move_up()
elif keys[pygame.K_DOWN]:
move_down()
elif keys[pygame.K_LEFT]:
move_left()
elif keys[pygame.K_RIGHT]:
move_right()
def move_right():
global x
x += speed
window.blit(car_right_image, (x, y))
def move_left():
global x
x -= speed
window.blit(car_left_image, (x, y))
def move_up():
global y
y -= speed
window.blit(car_up_image, (x, y))
def move_down():
global y
y += speed
window.blit(car_down_image, (x, y))
# Boucle principale du jeu
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
handle_input()
window.fill((0, 0, 0))
clock.tick(60) # Contrôle du framerate
pygame.display.flip()