gpt4 book ai didi

python - 如何使用 Pygame 将设计分辨率缩放到其他分辨率?

转载 作者:太空狗 更新时间:2023-10-30 02:39:52 37 4
gpt4 key购买 nike

因此,在我见过的每个 Pygame 示例中,似乎都有一个设计用来玩游戏的分辨率,仅此而已。没有设置更高或更低分辨率的选项。如果您确实通过 display.set_mode 更改了分辨率,那么游戏纹理/图形的比例就会失控,游戏将变得无法玩。

在我见过的所有示例中,看起来您实际上必须为每个目标分辨率创建不同大小的纹理集……这看起来很荒谬。这引出了我的问题。

如果我基于 480x270 的标准分辨率设计游戏,是否可以简单地将该表面的输出缩放到 1080p(或 1440p、4k 等),同时仍然利用为 480x270 构建的游戏 Assets ?如果是这样,任何人都可以发布一个如何实现这一目标的例子吗?任何提示或指示也将不胜感激。

最佳答案

您可以在设计分辨率下制作一个虚拟表面,并将其缩放到游戏运行时的分辨率:

window = pygame.set_mode([user_x, user_y])
w = pygame.Surface([design_x, design_y])

def draw():
frame = pygame.transform.scale(w, (user_x, user_y))
window.blit(frame, frame.get_rect())
pygame.display.flip()

在虚拟表面上绘制所有内容,它会缩放到屏幕上。这需要固定的屏幕高度与屏幕宽度比。

关于python - 如何使用 Pygame 将设计分辨率缩放到其他分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43196126/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com