【发布时间】:2023-03-07 08:07:02
【问题描述】:
我正在使用 pygame 1.9.6 创建游戏。但是,正如您通过运行这个简单的示例所看到的那样,窗口周围会出现一些黑色边框,即使带有 FULLSCREEN 标志也是如此。
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((900, 500), FULLSCREEN)
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
exit()
screen.fill((255, 255, 255))
pygame.display.flip()
我尝试在屏幕初始化中添加标志NOFRAME,但没有成功。
我想知道是否可以删除边框,例如通过增加屏幕尺寸以适合当前屏幕。但我也想保持900x500 的分辨率。
pygame 可以调整整个屏幕的大小吗?我必须blit() Surface 上的所有内容,然后重新缩放并在实际屏幕上绘制吗?
【问题讨论】:
-
如果性能是一个问题,您可以尝试使用
pygame.time.Clock().tick(30)减慢您的游戏循环。对于缩放,您仍然使用全分辨率模式,但您在较小的表面上绘制并在传输到主屏幕时对其进行缩放。查看此帖子:reddit.com/r/pygame/comments/b8wwfr/… -
您可能知道,窗口周围的黑色是因为您的屏幕大于 900x500。除非您的屏幕尺寸恰好是 9x5 比例(我的不是),否则即使您将其缩放到屏幕尺寸,您仍然可能会在某处得到一点黑条。那是除非你在一个维度上拉伸它比另一个维度更多,在这种情况下你将不再得到圆形。
-
您可以尝试在
display.set_mode()调用中使用pygame.SCALED标志和FULLSCREEN。文档是这样描述的:pygame.SCALED resolution depends on desktop size and scale graphics -
感谢格伦麦金托什!我更新了我的 pygame 版本,它运行良好。
标签: python python-3.x pygame