如何让我的Pygame表面全屏?我尝试过以下方法:
pygame.display.toggle_fullscreen()
但它不能满足我的需要。
答案 0 :(得分:1)
我知道它不是很优雅,但每次你想改变你的屏幕模式(即大小,显示标志)时你都可以调用Pygames display.set_mode()
函数。
您需要先关闭整个显示模块display.quit()
,然后再次初始化display.init()
。
import pygame as pyg
pyg.init()
screen = pyg.display.set_mode((200, 300), pyg.RESIZABLE)
screen.fill((255,155,55))
pyg.display.flip()
while True:
ev = pyg.event.wait()
if ev.type == pyg.MOUSEBUTTONDOWN and ev.button == 1:
# Display in Fullscreen mode
pyg.display.quit()
pyg.display.init()
screen = pyg.display.set_mode((0, 0), pyg.FULLSCREEN)
elif ev.type == pyg.MOUSEBUTTONDOWN and ev.button == 2:
# Display in Resizable mode
pyg.display.quit()
pyg.display.init()
screen = pyg.display.set_mode((200, 300), pyg.RESIZABLE)
screen.fill((255,155,55))
pyg.display.flip()
答案 1 :(得分:0)
从某个地方拿回来,不记得来源了:
display = (1280,720) #whatever you want the screen size to be
if event.key == K_h: #Just a key to toggle fullscreen
if pygame.display.get_driver()=='x11':
pygame.display.toggle_fullscreen()
else:
acopy=screen.copy()
if fullscreen:
screen=pygame.display.set_mode(display)
else:
screen=pygame.display.set_mode(display, pygame.FULLSCREEN)
fullscreen= not fullscreen
screen.blit(acopy, (0,0))
pygame.display.update()
答案 2 :(得分:0)
感谢您的回答。我终于找到了其他一些帖子的答案,这些帖子甚至不打算回答我的问题:
import pygame
import ctypes
def set_screen_prop():
user32 = ctypes.windll.user32
screenSize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
print screenSize
size = (screenSize)
pygame.display.set_caption("Window")
return pygame.display.set_mode((size) , pygame.FULLSCREEN)
pygame.init()
window=set_screen_prop()
pygame.quit()