Код: Выделить всё
import pygame, sys
from pygame.locals import *
#Initializes pygame
pygame.init()
#Defines the Clock object
clock = pygame.time.Clock()
#Just draws a blue screen
size = (960, 540)
blue = (0,0,100)
purp = (100,0,100)
is_blue = True
display_surf = pygame.display.set_mode(size, RESIZABLE)
display_surf.fill(blue)
mainLoop = True
is_fullscreen = False
#Mainloop
while mainLoop:
dt = clock.tick(12)
for event in pygame.event.get():
if event.type == pygame.QUIT:
mainLoop = False
if event.type == pygame.KEYDOWN:
#Single key pressed
if event.key == K_f:
#Toggles fullscreen
is_fullscreen = not is_fullscreen
old_surface = display_surf
setmode = FULLSCREEN if is_fullscreen else RESIZABLE
display_surf = pygame.display.set_mode(size, setmode)
display_surf.blit(old_surface, (0,0))
del old_surface
if event.key == K_q:
#Quits the app
mainLoop = False
if event.key == K_r:
#Redraws the blue or purple
print("Trying to flip colors")
display_surf.fill(purp if is_blue else blue)
is_blue = not is_blue
if event.key == K_g:
#Toggles fullscreen with the dedicated method
is_fullscreen = not is_fullscreen
pygame.display.toggle_fullscreen()
pygame.display.update()
pygame.quit()
- Использование pygame 2.0.0.dev6 при переходе в полноэкранный режим с помощью F или < kbd>G на экране происходит следующее:
мигает несколько раз - переходит в задание панель в виде свернутого значка
- если я нажму на значок, экран мигнет еще несколько раз и, наконец, мы перейдем в полноэкранный режим.
- проблема< /strong>: экран полностью черный, а кнопка R не меняет цвета (но печатает сообщение)
[*]Все еще использую pygame 2.0.0.dev6. В этом случае кнопки G и F ведут себя по-разному: при переходе из полноэкранного режима в оконный с помощью G кнопка R не меняет цвета даже в оконной версии. При использовании F вместо этого работает.
[*]В версии pygame 2.0.0.dev3 кнопка G вообще не работает, а F ведет себя так же, как и раньше.
Моя главная проблема — 1.4.: полноэкранный режим полностью черный.
Теперь давайте сделаем модификацию. Измените следующую строку в коде кнопки F
Код: Выделить всё
setmode = FULLSCREEN|SCALED if is_fullscreen else RESIZABLE #FULLSCREEN -> FULLSCREEN|SCALED
Подробнее здесь: https://stackoverflow.com/questions/591 ... rely-black