Как выйти из полноэкранного режима в Pygame?

это может быть глупый вопрос, но это глупая проблема, что я не могу найти для него документ.

Pygame дает мне эти флаги для отображения.набор.mode():

pygame.FULLSCREEN    create a fullscreen display
pygame.DOUBLEBUF     recommended for HWSURFACE or OPENGL
pygame.HWSURFACE     hardware accelerated, only in FULLSCREEN
pygame.OPENGL        create an OpenGL renderable display
pygame.RESIZABLE     display window should be sizeable
pygame.NOFRAME       display window will have no border or controls

Ok, Я могу войти в полноэкранный режим.. Теперь вот мой код:

__author__ = 'EricsonWillians'

from pygame import *
import ctypes
init()
user32 = ctypes.windll.user32
screenSize = user32.GetSystemMetrics(0)/2, user32.GetSystemMetrics(1)/2

size = (screenSize)
screen = display.set_mode(size)
display.set_caption("Game")
done = False
clock = time.Clock()

def keyPressed(inputKey):
    keysPressed = key.get_pressed()
    if keysPressed[inputKey]:
        return True
    else:
        return False

while not done:
    for e in event.get():
        if e.type == QUIT:
            done = True
        if keyPressed(K_F10):
            if screen == display.set_mode(size):
                screen = display.set_mode(size, FULLSCREEN)
            else:
                screen = display.set_mode(size, "What flag should I put here for 'windowed'?")

    screen.fill((0,0,0))
    display.flip()
    clock.tick(60)

quit()

нет способа "переключить назад" полноэкранный режим, потому что нет" оконного " флага, как в SDL.

и ", С которым Pygame.дисплей.toggle_fullscreen()" не работает. (По крайней мере, я не смог этого сделать. работа.)

Я пробовал" -1 "или" 0 "или" не полноэкранный режим", но ни один из них не работает (с" 0 "в качестве флага экран становится"странным".. Я не знаю, что происходит, ха-ха, но это не оконное).

1 ответов


просто не указывайте никаких флагов

if e.type is KEYDOWN and e.key == K_w:
    pygame.display.set_mode(size)
if e.type is KEYDOWN and e.key == K_f:
    pygame.display.set_mode(size, FULLSCREEN)

работает для меня.

редактировать

для переключения с помощью одной клавиши используйте:

if (e.type is KEYDOWN and e.key == K_f):
    if screen.get_flags() & FULLSCREEN:
        pygame.display.set_mode(size)
    else:
        pygame.display.set_mode(size, FULLSCREEN)