Partage
  • Partager sur Facebook
  • Partager sur Twitter

Redimensionnement auto

Problème avec windows / pygame

    14 février 2021 à 23:10:20

    Bonjour,

    Je suis actuellement en train de faire un jeu avec Pygame et je rencontre un problème lors de la mise en plein écran.

    En effet, lorsque je l'active sur mon écran "externe" (avec mise à l'échelle de 100%), aucun problème, le jeu s'affiche en entier sur toute la fenêtre, et donc tout l'écran.

    Cependant, si je l'active sur mon écran de pc portable (avec mise à l'échelle de 125%), alors je ne vois que la partie centrale de ma fenêtre, et c'est assez embêtant.

    Quand je parle de mise à l'échelle, il s'agit d'une option Windows accessible dans les paramètres.

    J'ai beaucoup cherché et j'ai rien trouvé, donc je pense que la seule solution serait d'activer / désactiver cette mise à l'échelle dans les options Windows directement mais cela n'est pas du tout pratique.

    Donc si quelqu'un aurait potentiellement une solution je suis preneur.

    Merci d'avance.

    -
    Edité par maxence.bonamy 14 février 2021 à 23:13:51

    • Partager sur Facebook
    • Partager sur Twitter
      15 février 2021 à 2:42:09

      Je ne sais pas si ton problème ressemble à celui-ci:
      https://openclassrooms.com/forum/sujet/pygame-adapter-une-image-en-fonction-de-l-ecran
      J'avais un problème semblable avec matplotlib et j'ai adapté mon code en foncttion de la grandeur de l'écran.
      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        15 février 2021 à 16:09:24

        Bonjour.

        Tout d'abord, ta fenêtre a-t-elle une dimension mini ?

        Je pose cette question car, dans la mesure où tu appliques un facteur d'échelle de 125 % sur ton écran "portable", les dimensions de ta fenêtre sont également impactées.

        Suivant la résolution de ton écran "portable" et s'il y a une dimension mini à ta fenêtre, celle-ci se retrouve alors peut-être plus grande que l'écran.

        Et ce serait donc pour cela que tu ne la vois pas entièrement.

        -
        Edité par PB68 15 février 2021 à 16:21:27

        • Partager sur Facebook
        • Partager sur Twitter

        PB68

          28 février 2021 à 9:22:50

          Merci de vos réponses.

          PierrotLeFou a écrit:

          Je ne sais pas si ton problème ressemble à celui-ci:
          https://openclassrooms.com/forum/sujet/pygame-adapter-une-image-en-fonction-de-l-ecran
          J'avais un problème semblable avec matplotlib et j'ai adapté mon code en foncttion de la grandeur de l'écran.

          D'après ce que j'y ai compris, non ce n'est pas ce problème. 😅

          PB68 a écrit:

          Bonjour.

          Tout d'abord, ta fenêtre a-t-elle une dimension mini ?

          Je pose cette question car, dans la mesure où tu appliques un facteur d'échelle de 125 % sur ton écran "portable", les dimensions de ta fenêtre sont également impactées.

          Suivant la résolution de ton écran "portable" et s'il y a une dimension mini à ta fenêtre, celle-ci se retrouve alors peut-être plus grande que l'écran.

          Et ce serait donc pour cela que tu ne la vois pas entièrement.

          -
          Edité par PB68 15 février 2021 à 16:21:27

          Tout d'abord, mon écran portable à la même résolution que l'autre (Full HD).

          Ensuite, pour ce qui est de la dimension mini, le problème pourrait en effet venir de là. Comment faire alors pour régler cette dimension mini ?

          -
          Edité par maxence.bonamy 28 février 2021 à 9:27:27

          • Partager sur Facebook
          • Partager sur Twitter
            1 mars 2021 à 7:11:20

            Bonjour.

            https://www.pygame.org/docs/ref/display.html

             Voici le lien pour la page du site Pygame concernant l'affichage.

            • Partager sur Facebook
            • Partager sur Twitter

            PB68

              5 mars 2021 à 16:21:54

              PB68 a écrit:

              Bonjour.

              https://www.pygame.org/docs/ref/display.html

               Voici le lien pour la page du site Pygame concernant l'affichage.


              Merci de ta réponse.

              Cependant je n'ai pas trouvé ce que je cherchais dans cette page.

              • Partager sur Facebook
              • Partager sur Twitter
                5 mars 2021 à 20:37:59

                J'ai pas compris l'histoire de mise à l'échelle ...
                • Partager sur Facebook
                • Partager sur Twitter

                Python c'est bon, mangez-en. 

                  6 mars 2021 à 23:12:40

                  josmiley a écrit:

                  J'ai pas compris l'histoire de mise à l'échelle ...


                  Je vais essayer d'être plus clair alors c'est pas évident :)

                  J'ai donc 2 écrans. On va appeler écran A l'écran avec mise à l'échelle windows de 100 % et B avec échelle 125 %.

                  (Cette mise à l'échelle s'effectue dans les paramètre windows → système → affichage → mise à l'échelle et disposition)

                  Prenons un exemple, je dessine un rectangle en haut à droite de ma fenêtre pygame que je configure en plein écran (c'est à dire qui prend tout l'écran même la barre des tâches windows et la barre au dessus avec notamment le bouton fermer qu'on ne voit donc pas).

                  J'exécute le programme dans l'écran A, aucun soucis, on voit bel et bien le rectangle en haut à droite. Maintenant, je l'exécute sur l'écran B, et je ne vois pas tout le rectangle (il est mangé par la bordure de l'écran). En gros c'est comme si j'avais un peu zoomé sur la fenêtre de l'écran A.

                  À ce stade, la seul solution que je connaisse est de modifier ce paramètre directement avec Windows, comme vu précédemment, mais on va pas se le cacher, c'est chiant. Donc je me demandais si on avait une possibilité de régler ce petit soucis avec pygame directement.

                  J'espère avoir été plus clair :)

                  -
                  Edité par maxence.bonamy 6 mars 2021 à 23:13:31

                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 mars 2021 à 5:08:08

                    Et bien c'est le système qui zoome à 125%. Est-ce-qu'il est possible pour un programme non système de récupérer et modifier ce paramètre le temps de son exécution ? Aucune idée.

                    Tu utilises l'option FULLSCREEN dans display.set_mode ?

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Python c'est bon, mangez-en. 

                      7 mars 2021 à 9:01:27

                      Bonjour.

                      Je reviens avec mon idée de conflit de dimension de fenêtre avec les "zoom système". Sur ce lien, il est dit que c'est un problème connu et une solution serait d'utiliser la méthode "scaled" lors de l'instantiation de "display".

                      • Partager sur Facebook
                      • Partager sur Twitter

                      PB68

                        7 mars 2021 à 12:07:32

                        josmiley a écrit:

                        Et bien c'est le système qui zoome à 125%. Est-ce-qu'il est possible pour un programme non système de récupérer et modifier ce paramètre le temps de son exécution ? Aucune idée.

                        Tu utilises l'option FULLSCREEN dans display.set_mode ?


                        Oui j'utilise cette option mais dans tous les cas cela ne change rien 😅

                        PB68 a écrit:

                        Bonjour.

                        Je reviens avec mon idée de conflit de dimension de fenêtre avec les "zoom système". Sur ce lien, il est dit que c'est un problème connu et une solution serait d'utiliser la méthode "scaled" lors de l'instantiation de "display".

                        En effet j'ai aussi trouvé cette option et elle ne fonctionne qu'avec pygame 2+ (j'ai une version antérieure) j'ai donc mis à jour pygame, j'ai utilisé SCALED et le problème est résolu. Cependant (ça ne s'arrête jamais ...) j'ai maintenant des problèmes de performances et je pense que ça vient de l'upgrade...

                        En tout cas merci de ton aide 😁

                        -
                        Edité par maxence.bonamy 7 mars 2021 à 12:07:43

                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 mars 2021 à 13:13:00

                          __Hyunkel__ a écrit:

                          josmiley a écrit:

                          Tu utilises l'option FULLSCREEN dans display.set_mode ?


                          Oui j'utilise cette option mais dans tous les cas cela ne change rien 😅

                          Càd dans tous les cas ? C'est le même problème en mode fenêtré ?
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Python c'est bon, mangez-en. 

                            7 mars 2021 à 14:44:40

                            josmiley a écrit:

                            __Hyunkel__ a écrit:

                            josmiley a écrit:

                            Tu utilises l'option FULLSCREEN dans display.set_mode ?


                            Oui j'utilise cette option mais dans tous les cas cela ne change rien 😅

                            Càd dans tous les cas ? C'est le même problème en mode fenêtré ?

                            Oui c'est ça

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Redimensionnement auto

                            × 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