web-dev-qa-db-fra.com

Comment maximiser l'écran d'affichage dans PyGame?

Je suis nouveau dans la programmation Python et j'ai récemment commencé à travailler avec le module PyGame. Voici un simple morceau de code pour initialiser un écran d'affichage. Ma question est: actuellement, le bouton Agrandir est désactivé et Je ne parviens pas à redimensionner l'écran. Comment puis-je lui permettre de basculer entre le plein écran et l'arrière? Merci

import pygame, sys
from pygame.locals import *

pygame.init()

#Create a displace surface object
DISPLAYSURF = pygame.display.set_mode((400, 300))

mainLoop = True

while mainLoop:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            mainLoop = False
    pygame.display.update()

pygame.quit()
11

Pour devenir plein écran en résolution native, faites

DISPLAYSURF = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)

Pour rendre la fenêtre redimensionnable, ajoutez le paramètre pygame.RESIZABLE Lors du réglage du mode. Vous pouvez définir le mode de la surface de l'écran plusieurs fois, mais vous devrez peut-être faire pygame.display.quit() suivi de pygame.display.init()

Vous devriez également vérifier la documentation de pygame ici http://www.pygame.org/docs/ref/display.html#pygame.display.set_mode

8
muddyfish

La méthode que vous recherchez est pygame.display.toggle_fullscreen

Ou, comme le guide le recommande dans la plupart des situations, appeler pygame.display.set_mode() avec la balise FULLSCREEN .

Dans votre cas, cela ressemblerait à

DISPLAYSURF = pygame.display.set_mode((400, 300), pygame.FULLSCREEN)

(Veuillez utiliser le pygame.FULLSCREEN Au lieu de simplement FULLSCREEN car lors des tests avec mon propre système FULLSCREEN vient d'agrandir la fenêtre sans ajuster la résolution tandis que pygame.FULLSCREEN Correspond à ma résolution ainsi que la maximisation.)

4
Zenohm

Cela vous permettra de basculer de maximiser à la taille initiale

import pygame, sys
from pygame.locals import *

pygame.init()

#Create a displace surface object
#Below line will let you toggle from maximize to the initial size
DISPLAYSURF = pygame.display.set_mode((400, 300), RESIZABLE)

mainLoop = True

while mainLoop:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            mainLoop = False
    pygame.display.update()

pygame.quit()
2
Tanmaya Meher

Vous devez ajouter le paramètre plein écran à la déclaration d'affichage comme ceci:

import pygame, sys
from pygame.locals import *

pygame.init()

#Create a displace surface object
DISPLAYSURF = pygame.display.set_mode((400, 300), FULLSCREEN)

mainLoop = True

while mainLoop:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            mainLoop = False
    pygame.display.update()

pygame.quit()
1
Michael Chav
import pygame, os

os.environ['SDL_VIDEO_CENTERED'] = '1' # You have to call this before pygame.init()

pygame.init()

info = pygame.display.Info() # You have to call this before pygame.display.set_mode()
screen_width,screen_height = info.current_w,info.current_h

Ce sont les dimensions de votre écran/moniteur. Vous pouvez les utiliser ou les réduire pour exclure les bordures et la barre de titre:

window_width,window_height = screen_width-10,screen_height-50
window = pygame.display.set_mode((window_width,window_height))
pygame.display.update()
1
Apostolos