Forums
Parlez de tout ce que vous voulez!
Hello, J’aimerais crée mon premier jeu en python en utilisant pygame, Je regarde sur YouTube une vidéo de Graven, qui corresponds totalement a ce que je veut, Mais mon script n’est pas comme dans la vidéo et ne fonctionne pas pareil… je ne sait pas vraiment ce qui cloche je sais seulement que mon script est pas vraiment celui attendu …
Salut ! Ton code semble bon, mais :
Chemin des fichiers : Vérifie que les images aux chemins C:/Users/potopilo/Downloads/Jeu/assets/bg.jpg et C:/Users/potopilo/Downloads/Jeu/assets/player.png existent et que l’orthographe du chemin est correcte.
Erreurs de chargement d’images : Si Pygame n’arrive pas à charger une image, il va afficher une erreur. Assure-toi d’avoir les images au bon format (jpg ou png selon les extensions que tu as indiquées).
Vérifier Player : Si tu as une erreur liée à l’attribut game.player.image ou game.player.rect, assure-toi que Player initialise bien ces attributs avec self.image et self.rect dans le fichier player.py.
Boucle de mouvement : Dans ta boucle de jeu, tu peux aussi simplifier en vérifiant game.pressed pour détecter si une touche est enfoncée ou relâchée.
Teste ça et dis-moi si ça résout ton problème !
Le problème ne Vien pas des images, et sa ne beug pas vraiment, Juste que je suis perdu dans le script …
Le problème, c’est que tu ne comprend pas ton code !
Voici une explication du code avec les commentaires :
# Importer la bibliothèque Pygame et la classe Player depuis le fichier player.py
import pygame
from player import Player
# Initialiser Pygame
pygame.init()
# Définir une classe pour représenter notre jeu
class Game:
def __init__(self):
# Créer un joueur pour chaque nouvelle instance de jeu
self.player = Player()
# Dictionnaire pour suivre les touches enfoncées par le joueur
self.pressed = {}
# Configurer la fenêtre du jeu
pygame.display.set_caption("Comet Fall Game") # Définir le titre de la fenêtre
screen = pygame.display.set_mode((850, 710)) # Définir la taille de la fenêtre du jeu
# Charger l'image de l'arrière-plan du jeu
background = pygame.image.load('C:/Users/potopilo/Downloads/Jeu/assets/bg.jpg')
# Créer une instance de notre jeu
game = Game()
# Démarrer la boucle principale du jeu
running = True
while running:
# Appliquer l'arrière-plan du jeu à la fenêtre
screen.blit(background, (0, -200)) # Ajuster la position si nécessaire
# Dessiner l'image du joueur à sa position actuelle
screen.blit(game.player.image, game.player.rect)
# Mettre à jour l'affichage pour refléter les changements
pygame.display.flip()
# Parcourir tous les événements du jeu (ex : touches, fermeture de fenêtre)
for event in pygame.event.get():
# Si l'événement est une demande de fermeture de la fenêtre
if event.type == pygame.QUIT:
running = False # Quitter la boucle du jeu
print("Fermeture du jeu") # Message de confirmation de fermeture
# Détecter si une touche est enfoncée
elif event.type == pygame.KEYDOWN:
game.pressed[event.key] = True # Marquer la touche comme enfoncée
# Détecter si une touche est relâchée
elif event.type == pygame.KEYUP:
game.pressed[event.key] = False # Marquer la touche comme relâchée
# Gérer le mouvement du joueur en fonction des touches appuyées
keys = pygame.key.get_pressed() # Obtenir l'état de toutes les touches
if keys[pygame.K_LEFT]: # Si la touche gauche est enfoncée
game.player.move_left() # Déplacer le joueur vers la gauche
if keys[pygame.K_RIGHT]: # Si la touche droite est enfoncée
game.player.move_right() # Déplacer le joueur vers la droite
# Quitter proprement Pygame une fois la boucle terminée
pygame.quit()
2
Voix
3
Réponses
Mots clés
Ce sujet n a pas de tags