Parallax python

Safiadelmes -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'aimerais créer un défilement de mon fond à l'infini pour un petit jeu comme sonic par exemple, mais je dois utiliser une def bien précise mais que je ne comprend pas:
def parallaxe(window, image, position_x, speed):
window = ecran
image1 = load_image('background_fix.png', ecran)
image2 = load_image('background_middle.png', ecran)
image3 = load_image('background_front.png', ecran)
position_x = 0
speed = 10
Mais cela ne fonctionne pas, si quelqu'un peut m'aider ^^

3 réponses

  1. Safiadelmes
     
    Bonjour, effectivement je l'ai poster un peu trop vite et je n'ai pas fait attention mais voilà je répond à ce message en repostant mon code complet et comme il le faut ^^
    import pygame
    import os, sys
    
    def main():
        pygame.init()
    
        ecran = pygame.display.set_mode((1200, 600))
        pygame.display.set_caption('Le rêve de Robotnik')
    
        jeu_en_cours = True
    
        while jeu_en_cours :
    
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    jeu_en_cours = FALSE
    
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_ESCAPE:
                        jeu_en_cours = False
    
            image1 = load_image('background_fix.png', ecran)
            ecran.blit(image1, (0, 0))
            image2 = load_image('background_middle.png', ecran)
            ecran.blit(image2, (0, 0))
            image3 = load_image('background_front.png', ecran)
            ecran.blit(image3, (0, 0))
            pygame.display.flip()
    
        pygame.quit()
    
    def load_image(name, ecran, colorkey=None):
        fullname = os.path.join('resources/', name)
        image = pygame.image.load(fullname)
        return image
    
    def parallaxe(window, image, position_x, speed):
        window = ecran
        image1 = load_image('background_fix.png', ecran)
        image2 = load_image('background_middle.png', ecran)
        image3 = load_image('background_front.png', ecran)
        position_x = 0
        speed = 10
    
    
        screen    
    
    if __name__ == "__main__":
        main()
    
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      que veux-tu dire par "je dois utiliser une def bien précise"?
      as-tu une question?
      0
      1. Safiadelmes > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Pour faire un effet parallax je doit utiliser cette def là :
        def parallaxe (window, image, position_x, speed):
        

        C'est pour un exercice d'entraînement donc je ne peux pas utiliser une autre alternative que cette def là, mais je ne sais pas du tout comment l'utiliser..
        0
      2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Safiadelmes
         
        l'exercice ne servira à rien si nous le faisons à ta place.

        as-tu compris ce que sont chacun des paramètres de la fonction?
        sais-tu comment faire appel à cette fonction?
        quel est le rôle du reste du code?
        0
      3. Safiadelmes > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Le début de monde permet de superposer mes trois images de fonds .
        Je pense pas avoir compris ce qu'il signifier vraiment et je débute en python du coup je ne voit pas trop comment les définir au niveau de la syntaxe.
        0
      4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Safiadelmes
         
        as-tu l'énoncé de l'exercice?
        as-tu compris ce qu'était une parallaxe?
        si tu débutes en python, n'est-il pas préférable de faire d'abord des exercices plus simples?
        0
  2. Safiadelmes
     
    Oui un parrallaxe permet de créer un effet de défilement des fonds pour une impression d'avancer.
    Dans mon sujet j'ai eu pour consigne de superposer mes 3 images de fond, puis d'utiliser cette def parrallaxe pour afficher mes images puis pour créer l'effet de défilement en leur donnant une vitesse.
    Justement c'est un exercice qui ma été donner par mon école pour que je puisse débuter en python.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      je pense que cet exercice ne peut être fait que par quelqu'un qui a déjà appris python.
      0