私は緑の円を描くプログラムを持っています。pを押すと、円が消えて赤い線が現れます。しかし、pを再度押すと、緑色の円が再表示されますが、再表示されません。Python pygame.event.get_pressed()は更新されません
初めてpを押したときにpygame.event.get_pressed()
関数を呼び出すと、常に同じ値が返されます。 get_pressed()
メソッドを正しく読み込むために使用しなければならないキーボードリセットがありますか?
import pygame
import time
BLACK = (0,0,0)
WHITE = (255,255,255)
GREEN = (0,255,0)
RED = (255,0,0)
pygame.init()
size = (700,700)
screen = pygame.display.set_mode(size)
screennumber = 1
pygame.display.set_caption("Game Test")
running = True
width = 350
clock = pygame.time.Clock()
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill(BLACK)
pressed = pygame.key.get_pressed()
print(pressed)
if pressed[pygame.K_p]:
screennumber = 2
else:
screennumber = 1
if screennumber == 1:
pygame.draw.circle(screen,GREEN,[350,350], width,1)
pygame.display.flip()
if width>1:
width = width-1
if screennumber == 2:
time.sleep(0.25)
pause = True
while pause:
pressed = pygame.key.get_pressed()
print(pressed)
if pressed[pygame.K_r]:
pause = False
pygame.draw.line(screen,RED,[0,0],[700,700],5)
pygame.display.flip()
clock.tick(21)
pygame.display.flip()
clock.tick(21)
pygame.quit()
ありがとう:
は、ここに私のコードです!
残りのコードは、 'pygame.event.get()'を呼び出したブロックの後ろに字下げするべきですか? 'pygame.key.get_pressed()'は、新しいイベントが読み込まれるまで更新されないと思います。 –