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()
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
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.)
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()
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()
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()