Partage
  • Partager sur Facebook
  • Partager sur Twitter

Faire défiler le fond d'un jeu

    22 mars 2015 à 19:51:09

    Bonjour,

    Pour mon projet final, avec ma partenaire nous avons décidé de créer un jeu de type liner runner sur Python (avec Pygame et Tkinter). On a déjà fait notre propre fond, personnage et obstacle, cependant on bute sur une partie importante du programme.

    En effet, pour donner l'illusion que notre personnage avance au fur et à mesure du jeu (alors qu'en fait il reste au même endroit, même quand il saute), nous avons pensé à faire défiler le fond de notre jeu (car on ne voit pas d'autre solution de toute manière). Cependant, on ne parvient pas à faire ce qu'on veut, car on ne trouve pas la bonne boucle, le bon événement ou module sans que ça ne bug. Par exemple, on a essayé de coller 2 fois le même fond à la suite, mais une fois que les 2 passent, ça reste bloquer sur la fin de la dernière image.

    Alors un peu d'aide serait la bienvenue, merci :). 

    -
    Edité par Chocoo 22 mars 2015 à 19:52:30

    • Partager sur Facebook
    • Partager sur Twitter
      22 mars 2015 à 21:11:02

      Salut

      Peut-on avoir un petit code si possible ? Et c'est assez logique quand tu y penses, tu mets 2 fonds, tu les fais défiler, il y en a plus.. :D Il vaudrait mieux en faire défiler n et ceux qui ne sont plus à l'écran tu les effaces de la mémoire.

      -
      Edité par InhumanRampage 22 mars 2015 à 21:11:15

      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2015 à 21:44:10

        Salut !
        Oui c'est vrai que même si on colle 10000 fois la même image à la suite, ça ne résoudrait pas le problème. Donc n serait une bonne solution, mais je ne vois pas comment l'utiliser...
        Et voici notre petit code :D !
        #Chargement et collage du fond
        x1=0
        x2=999
        fond1 = pygame.image.load("Fond1.jpg").convert()
        fenetre.blit(fond1, (x1,0))
        fond2 = pygame.image.load("Fond2.jpg").convert()
        fenetre.blit(fond2, (x2,0))
        #Défilement du fond
        for i in range(0, 1000):
            x1 = x1-3*i
            x2 = x2-3*i
            fenetre.blit(fond1, (x1,0))
            fenetre.blit(fond2, (x2,0))
            time.sleep(0.15)
            pygame.display.flip()
        • Partager sur Facebook
        • Partager sur Twitter

        Faire défiler le fond d'un jeu

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown