ProgHelp

Une communauté intelligente et active

Projet informatique et science du numérique

Message par skyloq » 19 Février 2017, 18:40

Bonjour,

Actuellement étudiant en terminale S, spé ISN, j'ai un projet à rendre en fin d'année.

J'ai décidé de faire un petit jeu et je me retrouve bloqué depuis 5 heures pour quelque chose qui est surement tres con...

Voila mon programme pour le moment :

from pygame.locals import *
p=1
pygame.init()

#Ouverture de la fenêtre Pygame
fenetre = pygame.display.set_mode((1280,720))

#Chargement et collage du fond
fond = pygame.image.load("fond blanc.jpg").convert()
fenetre.blit(fond, (0,0))

#mise en place d'un tableau
table = pygame.image.load("paintpygame.png").convert()
fenetre.blit(table, (450,-50))

#Mise en place des flèches directionnels

#affichage fleche du haut
FDU = pygame.image.load("FDU.jpg").convert()
fenetre.blit(FDU, (235,320))

#affichage fleche du bas
FDD = pygame.image.load("FDD.jpg").convert()
fenetre.blit(FDD, (238,501))

#affichage fleche de droite
FDR = pygame.image.load("FDR.jpg").convert()
fenetre.blit(FDR, (418,502))

#affichage fleche de gauche

FDL = pygame.image.load("FDL.jpg").convert()
fenetre.blit(FDL, (55,500))

#mise en place d'un tableau
table = pygame.image.load("paintpygame.png").convert()
fenetre.blit(table, (600,-50))


#Rafraîchissement de l'écran
pygame.display.flip()

#BOUCLE INFINIE
continuer = 1
while continuer:
for event in pygame.event.get():
if event.type == QUIT:
continuer = 0


Un programme tout basique affichant juste quelques images.

Comme vous avez pu le remarquer j'utilise pygame et je galère au niveau de la gestion des evenements.

J'ai essayé de m'aider d'un tuto sur openclassroom ( https://openclassrooms.com/courses/inte ... enements-1 ) mais en vain, je n'arrivais pas à adapter son code à mon programme...

Mon problème est le suivant : J'aimerais, lorsque j'appuie sur une de mes touches directionnels ( flèche du bas par exemple ), mon image FDD ( flèche directionnel down ) soit remplacer par une autre image. Et de même pour les autres flèches.

Je joins mon programme avec les images pour vous puissiez vous faire une iddée de ce que cela donne.

En espérant que vous puissiez m'aider, je vous souhaite une bonne journée,

Skyloq
Vous devez être connecté pour télécharger les pièces jointes.
skyloq
Petit nouveau
 
Messages : 1
Points d'honneur : 0 PH
Inscription : 19 Fév 2017

Message par Patak » 20 Février 2017, 14:33

Je n'ai jamais fait de Python, mais je vais essayer ^^

continuer = 1
while continuer:
for event in pygame.event.get():
if event.type == QUIT:
continuer = 0
if event.type == KEYDOWN:
if event.key == K_LEFT:
print("Truc à faire quand fleche gauche")
if event.key == K_UP:
print("Truc à faire quand fleche vers le haut")
if event.key == K_RIGHT:
print("Truc à faire quand fleche droite")
if event.key == K_DOWN:
print("Truc à faire quand fleche vers le bas")
Image


SPOILER : AFFICHER


Avatar de l’utilisateur
Patak
Administrateur
 
Messages : 1144
Points d'honneur : -666 PH
Inscription : 30 Oct 2012

Message par Dolipplo » 26 Février 2017, 22:25

Hi ! Je pense que la solution de Patak devrait fonctionner non ? Désolé je peux vraiment pas aider j'ai jamais touché au Python. :/
Tu comptes faire quoi comme petit jeu, t'as une idée précise ?
Cordialement, Dolipplo. c:
Dolipplo
Petit nouveau
 
Messages : 7
Points d'honneur : 7 PH
Inscription : 18 Oct 2016

Message par MyHand » 30 Avril 2017, 20:18

Du coup, ce poste est dans la mauvaise section.


pygame est une librairie très puissante mais aussi assez capricieuse.

La solution que Patak t'a donné est effectivement celle qui correspond à ce que tu souhaites faire. Cependant, il faut savoir qu'à chaque fois que l'on "blit" un élément, il faut rafraîchir la fenêtre, à l'aide de pygame.display.flip().


Si tu as besoin de + d'aide concernant pygame ou le python, tu peux me contacter en message privé. J'ai aussi très utilisé pygame pour mes cours d'ISN.
Avatar de l’utilisateur
MyHand
Programmeur
 
Messages : 179
Points d'honneur : 50 PH
Inscription : 09 Jan 2013


Retour vers Python

cron
  • Qui est en ligne ?
  • Consulter les nouveaux messages
  • Consulter les messages sans réponse
  • Au total, il y a 0 utilisateur en ligne :: 0 inscrit, 0 invisible et 0 invité (basé sur le nombre d’utilisateurs actifs des 5 dernières minutes)
  • Le nombre maximum d’utilisateurs en ligne simultanément a été de 272 le 12 Mars 2015, 03:11
  • Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)