首页 > 解决方案 > 调整无边框窗口大小

问题描述

我知道有几种方法可以在 pygame 中调整屏幕大小,但是我无法按照我想要的方式进行调整。

我使用的方法是使表面适合屏幕,这意味着它将保持成比例,但会有边框。我想要做的是调整表面的大小,然后对表面的裁剪版本进行 blit。因此,它不会显示边界,而是针对不同尺寸显示不同数量的表面。

我应该如何做到这一点?

这是我尝试过的。

blit_surf_rect = transform.scale(blit_surf, (blit_surf.get_width(), blit_surf.get_height())).get_rect()
fit_to_rect = blit_surf_rect.fit(screen.get_rect())
fit_to_rect.center = screen.get_rect().center
scaled = transform.scale(blit_surf, (fit_to_rect.size[0]*scale, fit_to_rect.size[1]*scale))
screen.blit(scaled, (xPos, yPos)
display.flip()

这样做的问题是我不知道如何获取相对鼠标位置以及如何不对用户不可见的额外内容进行 blit。

标签: pythonpython-3.xpygamepygame-surface

解决方案


推荐阅读