Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fenêtre pygame longue à la détente

et ce pour la fermeture...

    21 décembre 2010 à 20:17:06

    Salut :) , j'ai commencé à utiliser pygame avec python3 ( vu que j'ai enfin réussi à l'installer ). Le truc, c'est que j'ai un petit problème, dérangeant, mais pas invivable:

    pour fermer ma fenêtre pygame avec la croix j'utilise ce modèle:
    #Debut de la boucle
    continuer = 1
    while continuer:
        for event in pygame.event.get():
            if event.type == QUIT:
                continuer = 0
    


    Mais quand je clique sur la croix, le programme met bien 3s avant de se fermer :( ! Sinon, j'ai pas repérer d'autres lags, j'ai fait le programme pour déplacer un personnage et ça répond bien sans latence.

    Qu'en pensez vous :euh: ?
    • Partager sur Facebook
    • Partager sur Twitter
      21 décembre 2010 à 20:26:42

      c'est à cause du pygame.init()
      tu n'est pas obligé de faire un init(), sauf si tu utilises time.get_ticks(); la plupart des modules peuvent s'init() séparément.
      • Partager sur Facebook
      • Partager sur Twitter

      Python c'est bon, mangez-en. 

        22 décembre 2010 à 1:11:38

        Merci pour ya réponse, mais pourrais tu m'aider à init()er les bons modules ? J'ai essayé comme ça:
        pygame.image.init()
        pygame.font.init()
        pygame.display.init()
        pygame.event.init()
        


        Mais la fenêtre s'ouvre et se referme illico.

        A+
        • Partager sur Facebook
        • Partager sur Twitter
          22 décembre 2010 à 8:36:05

          à ma connaissance seul pygame.font.init() es obligatoire si tu utilises le module 'font'.
          pygame.time.init() n'existe pas, or, si tu utilises pygame.time.get_ticks() sans initialiser le module 'time' via pygame.init() la fonction te renvoies toujours 0. seulement pygame.init() rallonge la fermeture de la fenetre pygame; la combine c'est de faire un pygame.time.Clock() à la place du pygame.init().

          à part ça, si un module à besoin d'être init(), pygame te le fera savoir dans la console.

          la fenêtre s'ouvre et se referme illico vient d'une erreur je pense.
          vue la ligne 4, tu as fait "import pygame", donc ligne 5 c'est pygame.QUIT et non QUIT tout seul.
          #Debut de la boucle
          continuer = 1
          while continuer:
              for event in pygame.event.get():
                  if event.type == pygame.QUIT:
                      continuer = 0
          

          • Partager sur Facebook
          • Partager sur Twitter

          Python c'est bon, mangez-en. 

            22 décembre 2010 à 17:19:54

            Vu que j'ai aussi fait :

            from pygame.locals import *
            


            pas besoin de mettre "pygame" avant "QUITT".

            Mais j'ai trouvé une soluce, je ferme la console qui s'ouvre en même temps que la fenêtre et le programme s'arrête direct.

            A+
            • Partager sur Facebook
            • Partager sur Twitter
              23 décembre 2010 à 12:11:14

              Ce n'est pas la solution la plus propre.
              • Partager sur Facebook
              • Partager sur Twitter

              Fenêtre pygame longue à la détente

              × 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