Я использую pygame.key.get_pressed()
в своем коде, чтобы заставить прямоугольник двигаться вверх и вниз, но когда я нажимаю go клавиши, прямоугольник продолжает двигаться. Мне интересно, как заставить прямоугольник перестать двигаться при отпускании ключа.
import pygame, random, sys
from pygame.locals import *
fpsClock=pygame.time.Clock()
pygame.init()
WINDOWWIDTH = 600
WINDOWHEIGHT = 600
TEXTCOLOR = (255, 255, 255)
BACKGROUNDCOLOR = (0, 0, 255)
FPS = 40
BLACK = (0,0,0)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
rectY1 = 300
rectY2 = 300
Y1change = 0
Y2change = 0
def moveup():
rectY1 -= 10
pygame.display.set_caption('Pong')
def drawshapes():
pygame.init()
DISPLAY=pygame.display.set_mode((600,600),0,32)
DISPLAY.fill(BLACK)
pygame.draw.rect(DISPLAY,RED,(18,rectY1,10,120))
pygame.draw.rect(DISPLAY,RED,(580,rectY2,10,120))
pygame.draw.ellipse(DISPLAY,BLUE,(300,300,30,30))
drawshapes()
while True:
for event in pygame.event.get():
if event.type==QUIT:
pygame.quit()
sys.exit()
keys = pygame.key.get_pressed()
if keys[K_UP]:
Y1change -= 10
if keys[K_DOWN]:
Y1change += 10
rectY1 += Y1change
rectY2 += Y2change
drawshapes()
pygame.display.update()
fpsClock.tick(FPS)
pygame.display.update()