如何解决有没有办法正确调整游戏屏幕的大小?
每次我尝试调整 PyGame 窗口的大小时,游戏都没有调整大小,它和以前一样,只是有更多的背景。
关于如何使用窗口调整游戏输出大小(并保持比例)的任何想法,是否有方法或我只需要手动编码?
解决方法
你必须自己编码。
不要直接在显示表面上绘制游戏,而是在可以调整到显示表面大小的中间表面上绘制游戏。
这是一个简单的例子:
import pygame
from pygame.locals import *
def main():
pygame.init()
screen = pygame.display.set_mode((400,300),HWSURFACE|DOUBLEBUF|RESIZABLE)
game_screen = screen.copy()
pic = pygame.surface.Surface((50,50))
pic.fill('dodgerblue')
while True:
for event in pygame.event.get():
if event.type == QUIT:
return
elif event.type == VIDEORESIZE:
ratio = game_screen.get_rect().width / game_screen.get_rect().height
new_size = event.size[0],int(event.size[0] / ratio)
screen = pygame.display.set_mode(new_size,HWSURFACE|DOUBLEBUF|RESIZABLE)
game_screen.fill('black')
game_screen.blit(pic,(100,100))
screen.blit(pygame.transform.scale(game_screen,screen.get_rect().size),(0,0))
pygame.display.flip()
main()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。