Pygame : Problème de superposition d'images

Résolu/Fermé
Ezekiel2510 - 16 janv. 2014 à 05:00
Ezekiel2510 Messages postés 14 Date d'inscription jeudi 2 janvier 2014 Statut Membre Dernière intervention 14 avril 2014 - 19 janv. 2014 à 22:32
Salut les gens !
Je debute sur Python et bien evidamment je bloque un peu.
Voilà mon problème. J'ai codé grace au tuto du site du Zéro un programme qui bermet de deplacer une image sur un fond d'écran. Jusque là le programe marche très bien. Maintenant dans un souci d'amélioration j'aimerai rajouter une nouvelle image (route.jpg) sur le background. Et les problèmes arrivent. L'image semble apparaitre derière le background et je n'ai aucun moyen de la faire apparaitre.

Voilà mon code :

#Importatinon et initialisation de la bibliothèque Pygame
import pygame
from pygame.locals import *
pygame.init()

#Affichage des images
fenetre = pygame.display.set_mode((640, 480))

fond = pygame.image.load("background.jpg").convert()
fenetre.blit(fond, (0,0))

perso = pygame.image.load("perso.png").convert_alpha()
position_perso = perso.get_rect()
fenetre.blit(perso, position_perso)

pygame.display.flip()

road = pygame.image.load("route.jpg").convert_alpha()
fenetre_road.blit(fond, (100,100))

#Rafraîchissement
pygame.display.flip()

#Pour la fluidité du déplacement
pygame.key.set_repeat(400, 30)

#Boucle Infinie
continuer = 1
while continuer:
    for event in pygame.event.get():
        if event.type == QUIT:
            continuer = 0
        if event.type == KEYDOWN:
            if event.key == K_DOWN:
                position_perso = position_perso.move(0,5)
            if event.key == K_LEFT:
                position_perso = position_perso.move(-5,0)
            if event.key == K_UP:
                position_perso = position_perso.move(0,-5)
            if event.key == K_RIGHT:
                position_perso = position_perso.move(5,0) 
        

#Re-collage
    fenetre.blit(fond, (0,0))
    fenetre.blit(perso, position_perso)

#Rafeaîchissement
    pygame.display.flip()


Merci beaucoup !

1 réponse

nidhogg-59 Messages postés 102 Date d'inscription mercredi 20 juin 2012 Statut Membre Dernière intervention 5 décembre 2015 27
Modifié par nidhogg-59 le 18/01/2014 à 12:12
Bonjour!
Dans ton code source, tu charges 'route.jpg' et tu l'appel road, mais jamais tu ne l'affiche... il faudrait le mettre entre l'affichage du fond et de ton perso! =)
0
Ezekiel2510 Messages postés 14 Date d'inscription jeudi 2 janvier 2014 Statut Membre Dernière intervention 14 avril 2014
19 janv. 2014 à 21:44
Merci beaucoup pour ta réponse mais le problème persiste.
La commande pour afficher l'image c'est bien ca non ?
fenetre.blit(road, (100,100))


Du coup même placé entre le fond et l'image il n'apparait pas.
0
Ezekiel2510 Messages postés 14 Date d'inscription jeudi 2 janvier 2014 Statut Membre Dernière intervention 14 avril 2014
19 janv. 2014 à 22:32
Ok c'est bon j'ai compris mon erreur merci beaucoup pour ton aide!
0