📅  最后修改于: 2023-12-03 15:24:04.661000             🧑  作者: Mango
Pygame 是一款非常流行的 Python 游戏编程库。它允许你非常方便地创建游戏界面和交互功能。在本文中,我们将介绍如何创建可调整大小的 Pygame 窗口。
我们需要首先导入 Pygame 库并初始化 Pygame 窗口。
import pygame
pygame.init()
# 设置窗口大小
WINDOW_SIZE = (500, 500)
# 创建窗口
screen = pygame.display.set_mode(WINDOW_SIZE)
pygame.display.set_caption("可调整大小的 Pygame 窗口")
在上述代码中,我们设置了窗口大小为 500 x 500 并创建了一个名为“可调整大小的 Pygame 窗口”的窗口,该窗口的尺寸可以调整。
为了使窗口大小可调整,我们需要调用 pygame.display.set_mode()
方法,并传入一个元祖包含之前我们设置的窗口大小以及一个 pygame.RESIZABLE
常量作为第二个参数。这样我们就允许用户可以拖动窗口的边缘来改变窗口大小。
import pygame
pygame.init()
# 设置窗口大小
WINDOW_SIZE = (500, 500)
# 创建窗口
screen = pygame.display.set_mode(WINDOW_SIZE, pygame.RESIZABLE)
pygame.display.set_caption("可调整大小的 Pygame 窗口")
我们还需要为窗口大小调整事件编写处理代码。当用户调整窗口大小时,Pygame 会将 pygame.VIDEORESIZE
事件发送到事件队列中。我们需要编写处理代码来检测该事件并采取相应措施。
import pygame
pygame.init()
# 设置窗口大小
WINDOW_SIZE = (500, 500)
# 创建窗口
screen = pygame.display.set_mode(WINDOW_SIZE, pygame.RESIZABLE)
pygame.display.set_caption("可调整大小的 Pygame 窗口")
# 游戏循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.VIDEORESIZE:
# 调整窗口大小
WINDOW_SIZE = event.size
screen = pygame.display.set_mode(WINDOW_SIZE, pygame.RESIZABLE)
# 绘制窗口
screen.fill((255, 255, 255))
pygame.display.flip()
# 退出游戏
pygame.quit()
在上述代码中,我们编写了一个游戏循环,并处理了 pygame.QUIT
和 pygame.VIDEORESIZE
事件。当检测到 pygame.VIDEORESIZE
事件时,我们将 WINDOW_SIZE
变量设置为新的窗口大小,并调用 pygame.display.set_mode()
方法来更新窗口大小。
最后,我们将上述三个步骤的代码组合到一起,形成一个完整的示例代码。
import pygame
pygame.init()
# 设置窗口大小
WINDOW_SIZE = (500, 500)
# 创建窗口
screen = pygame.display.set_mode(WINDOW_SIZE, pygame.RESIZABLE)
pygame.display.set_caption("可调整大小的 Pygame 窗口")
# 游戏循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.VIDEORESIZE:
# 调整窗口大小
WINDOW_SIZE = event.size
screen = pygame.display.set_mode(WINDOW_SIZE, pygame.RESIZABLE)
# 绘制窗口
screen.fill((255, 255, 255))
pygame.display.flip()
# 退出游戏
pygame.quit()
现在你可以运行上面的代码,并尝试调整窗口大小,看看我们刚刚创建的可调整大小的 Pygame 窗口是否可以正常工作了。