📅  最后修改于: 2023-12-03 14:52:05.343000             🧑  作者: Mango
如果您正在使用 Pygame 并想在运行的过程中更改形状和颜色,那么您可能想知道如何使用按键更改 Pygame 中正方形的颜色。下面是一些简单的代码示例,它将演示如何创建一个可以按下键盘并更改颜色的正方形。
在开始之前,您需要确保已经安装了 Pygame。要安装 Pygame,请在命令提示符上键入以下命令:
pip install pygame
首先,我们需要创建一个窗口和一个正方形。我们将在这个正方形上更改颜色。以下代码将创建一个黑色边框的白色正方形:
import pygame
pygame.init()
win = pygame.display.set_mode((500, 500))
# 设置正方形的初始位置和大小
x = 200
y = 200
s = 50
# 创建一个正方形
rect = pygame.Rect(x, y, s, s)
# 绘制正方形
pygame.draw.rect(win, (255, 255, 255), rect, 2)
pygame.display.update()
现在,我们的程序将创建一个窗口和一个正方形。这里我们使用了 Pygame 的 Rect
类来创建正方形,它需要 x
,y
,width
和 height
参数。我们设置 s
为正方形的大小。
我们还使用了 Pygame 的 draw.rect()
方法来绘制正方形。它需要一个表面对象,颜色,和正方形的外观。
现在我们已经创建了正方形,我们需要按下某个键来更改其颜色。我们将使用 pygame.KEYDOWN
事件来检测键是否已被按下。当我们按下任何键时,我们将更改正方形的颜色。以下是完整代码:
import pygame
pygame.init()
win = pygame.display.set_mode((500, 500))
# 设置正方形的初始位置和大小
x = 200
y = 200
s = 50
# 创建一个正方形
rect = pygame.Rect(x, y, s, s)
# 绘制正方形
pygame.draw.rect(win, (255, 255, 255), rect, 2)
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_r:
pygame.draw.rect(win, (255, 0, 0), rect)
if event.key == pygame.K_g:
pygame.draw.rect(win, (0, 255, 0), rect)
if event.key == pygame.K_b:
pygame.draw.rect(win, (0, 0, 255), rect)
if event.key == pygame.K_w:
pygame.draw.rect(win, (255, 255, 255), rect)
pygame.display.update()
在这个版本的程序中,我们使用了一个无限循环来保持窗口打开。我们使用 pygame.event.get()
方法来获取事件列表。
当键盘事件发生时,我们检查按下的键是否是 pygame.K_r
,pygame.K_g
,pygame.K_b
或 pygame.K_w
。如果是其中一个键,我们就使用 pygame.draw.rect()
方法来更改正方形的颜色。
现在,当我们按下 r
,g
,b
或 w
键时,我们正方形的颜色就会变成红色、绿色、蓝色或白色。
在此教程中,我们介绍了 Pygame 中如何使用按键更改正方形的颜色。我们学习了如何简单地创建一个窗口和正方形以及如何检测按键事件。我们还学会了如何使用 pygame.draw.rect()
方法来绘制矩形形状并更改其颜色。