Bonjour,
Je souhaiterais déplacer un carré dans une fenêtre Pygame (« plateforme_du_jeu ») à partir d’un autre script (« gestion_du_jeu »).
Mais, je ne vois pas comment y arriver.
Une personne pourrait-elle me donner un conseil pour modifier les scripts ?
En vous remerciant par avance.
Voici, ci-dessous, les deux scripts.
Le script « gestion_du_jeu » :
import pygame, sys
import gestion_du_jeu
class Game:
def __init__(self):
pygame.init()
self.screen = pygame.display.set_mode((1000,600))
self.x, self.y = 500, 300
self.lancement_jeu()
def lancement_jeu(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# efface l'ancien rectangle
self.screen.fill((0,0,0))
# dessine le nouveau rectangle
pygame.draw.rect(self.screen, (255,255,255), (self.x,self.y,50,40))
pygame.display.update()
def deplacement(self, valeur_deplacement):
self.x += valeur_deplacement
pygame.display.update()
Le script « plateforme_du_jeu » :
import time
import plateforme_du_jeu
game = plateforme_du_jeu.Game()
game.deplacement(10)
time.sleep(.5)
game.deplacement(10)
time.sleep(.5)
game.deplacement(-10)
time.sleep(.5)
Sinon, au début j’avais fait ce script pour la « plateforme_du_jeu » mais le problème c’est qu’il y apparaît un « import circulaire ». Comment pourrais-je éviter ça ?
import pygame, sys
import gestion_du_jeu
class Game:
def __init__(self):
pygame.init()
self.screen = pygame.display.set_mode((1000,600))
self.x, self.y = 500, 300
self.lancement_jeu()
def lancement_jeu(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# efface l'ancien rectangle
self.screen.fill((0,0,0))
# dessine le nouveau rectangle
pygame.draw.rect(self.screen, (255,255,255), (self.x,self.y,50,40))
pygame.display.update()
def deplacement(self, valeur_deplacement):
self.x += valeur_deplacement
# efface l'ancien rectangle
self.screen.fill((0,0,0))
# dessine le nouveau rectangle
pygame.draw.rect(self.screen, (255,255,255), (self.x,self.y,50,40))
pygame.display.update()