这可能是一个愚蠢的问题,但这是一个愚蠢的问题,我无法找到它的文档。
Pygame为display.set.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
好的,我可以进入全屏模式..现在这是我的代码:
__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中没有“WINDOWED”标志。
“pygame.display.toggle_fullscreen()”不起作用。 (至少,我无法使其发挥作用)。
我尝试过“-1”或“0”或“不是FULLSCREEN”,但它们都没有工作(标有“0”,屏幕变得“怪异”......我不知道会发生什么哈哈,但它不是WINDOWED)。
答案 0 :(得分:10)
只是不要指定任何标志
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)