pygame中怎样让背景图片适应游戏窗体的大小变化?

怎样实现背景图片自动随着窗体的大小而变化?

加载的图片与窗体大小不一致

import pygame,sys

pygame.init()
size = 600, 400
black = 0, 0, 0
screen = pygame.display.set_mode(size, pygame.RESIZABLE)
pygame.display.set_aption("Aspioder")
bg = pygame.image.load(".\\Pictures\\galaxy.jpeg")

fclock = pygame.time.Clock()
fps = 1000

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()


    screen.blit(bg, (0, 0))
    pygame.display.update()
    fclock.tick(fps)

2个回答

检测窗口变化时,获取窗口尺寸,然后调整图片大小。别问怎么检测窗口大小,api里肯定有。

import pygame

pygame.init() # 游戏入口

创建游戏窗口 display方法

size = width, height = 354, 249
screen = pygame.display.set_mode(size, pygame.RESIZABLE) # 窗口模式

绘制背景图像

bg = pygame.image.load(r".\img\imgae1.png")
screen.blit(pygame.transform.scale(bg, size), (0, 0)) # 背景能伸缩

clock = pygame.time.Clock()

while True:
# 可以指定循环体内部代码执行的频率 clock.tick()
clock.tick(60)
# 事件监听
for event in pygame.event.get():

    # 判断事件类型type是否是退出事件
    if event.type == pygame.QUIT:
        print("游戏退出...")
        pygame.quit()  # 游戏退出
        exit()  # 直接终止当前执行的程序

    elif event.type == pygame.VIDEORESIZE:
        size = width, height = event.size[0], event.size[1]  # 获取新的size
        screen = pygame.display.set_mode(size, pygame.RESIZABLE)

screen.blit(pygame.transform.scale(bg, size), (0, 0))  # 背景能伸缩
pygame.display.flip()
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐