Je me suis fait un mini projet de stand de tir mais je n'arrive pas a faire attendre python avant de reblitter l'image j'ai essayer avec time.sleep mais ca marche pas (tout s'arrete) et lorsque je faic comme le code ci dessous la cible atuer n'arrete pas de bouger :
#Importation des bibliothèques nécessaires
import pygame
from pygame.locals import *
import random
#Initialisation de la bibliothèque Pygame
pygame.init()
x_atuer = random.randint(50,640)
y_atuer = random.randint(50,379)
temps = 0
fenetre = pygame.display.set_mode((640, 379))
pygame.display.set_caption("standDeTir")
fond = pygame.image.load("fond.jpg").convert() #affiche image et la convertit
fenetre.blit(fond, (0,0))#blit de l'image
cible = pygame.image.load("cible.png").convert_alpha()
position_cible = cible.get_rect()
fenetre.blit(cible, position_cible)
atuer = pygame.image.load("atue.png").convert_alpha()
fenetre.blit(atuer, (x_atuer, y_atuer))
pygame.display.flip()
continuer = 1
#Boucle infinie
while continuer:
temps = temps + 1
x_atuer = random.randint(50,640)
y_atuer = random.randint(50,379)
for event in pygame.event.get():
if event.type == QUIT:
continuer = 0
if event.type == KEYDOWN:
if event.key == K_DOWN:
position_cible = position_cible.move(0,10)
if event.key == K_LEFT:
position_cible = position_cible.move(-10,0)
if event.key == K_RIGHT:
position_cible = position_cible.move(10,0)
if event.key == K_UP:
position_cible = position_cible.move(0,-10)
fenetre.blit(fond, (0,0))
fenetre.blit(cible, position_cible)
fenetre.blit(atuer, (x_atuer, y_atuer))
#Rafraichissement
pygame.display.flip()
if temps == 999:
fenetre.blit(atuer, (x_atuer, y_atuer))
pygame.display.flip()
Merci d'avance
- Edité par theunkutboy 21 juillet 2014 à 14:30:13
JumpMen : Un jeu d'agilité et de saut crée avec unity : http://www.mediafire.com/download/7wcs7wi70mxhnqj/JumpMenBeta1.exe
Ça fonctionne comme time.sleep(x), mais au lieu de stopper toute autre activité, ça n'interrompt pas les autres évènements. Met le donc avant de blitterfenetre, à, toi de voir ce que tu veux faire. Ensuite je ne connais pas tes attentes et je n'ai aucune expérience en PyGame donc je ne peux pas t'aider en détail.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Python c'est bon, mangez-en.