为什么我的盒子只存在一帧?
Why are my boxes only existing for one frame?
我正在努力做到一旦按下 f 键,就会永久创建一个框。但是,一旦按下 f 键,该框仅存在一帧。如何创建一个由按键触发的永久框?谢谢
以下是我创建的存在上述问题的代码的摘录:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_f:
pygame.draw.rect(screen, (255,255,0), (200, 200, 15, 15))
该事件仅在按下按钮时发生一次。因此,该框仅在 1 帧内可见。如果想让盒子永久化,需要在应用循环中绘制。
添加一个状态变量draw_box
并设置按下按钮时的状态。根据 draw_box
:
的状态绘制方框
draw_box = False
# application loop
run = True
while run:
# [...]
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_f:
draw_box = True
# [...]
if draw_box:
pygame.draw.rect(screen, (255, 255, 0), (200, 200, 15, 15))
# [...]
pygame.display.update()
我正在努力做到一旦按下 f 键,就会永久创建一个框。但是,一旦按下 f 键,该框仅存在一帧。如何创建一个由按键触发的永久框?谢谢
以下是我创建的存在上述问题的代码的摘录:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_f:
pygame.draw.rect(screen, (255,255,0), (200, 200, 15, 15))
该事件仅在按下按钮时发生一次。因此,该框仅在 1 帧内可见。如果想让盒子永久化,需要在应用循环中绘制。
添加一个状态变量draw_box
并设置按下按钮时的状态。根据 draw_box
:
draw_box = False
# application loop
run = True
while run:
# [...]
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_f:
draw_box = True
# [...]
if draw_box:
pygame.draw.rect(screen, (255, 255, 0), (200, 200, 15, 15))
# [...]
pygame.display.update()