Я довольно новичок в Python, особенно в PyGame, и я понятия не имею, что здесь происходит. Моя программа запустится и не потерпит крах, но красный квадрат не будет двигаться в зависимости от нажатия клавиш
Я использовал ту же самую систему управления для чего-то другого, что я сделал, и она работала нормально, так почему же она не работает сейчас?
class Player:
def __init__(self, x, y):
self.x = x
self.y = y
self.speed = 10
self.dir = ''
def update(self):
if self.dir == 'up':
self.y -= self.speed
elif self.dir == 'down':
self.y += self.speed
if self.dir == 'right':
self.x += self.speed
if self.dir == 'left':
self.x -= self.speed
pygame.draw.rect(gameDisplay, red, (self.x, self.y, 50, 50))
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_w:
man.dir = 'up'
if event.key == pygame.K_s:
man.dir = 'down'
if event.key == pygame.K_d:
man.dir = 'right'
if event.key == pygame.K_a:
man.dir = 'left'
if event.type == pygame.KEYUP:
if event.key == pygame.K_w:
man.dir = ''
if event.key == pygame.K_s:
man.dir = ''
if event.key == pygame.K_a:
man.dir = ''
if event.key == pygame.K_d:
man.dir = ''
gameDisplay.fill(white)
man.update()
clock.tick(fps)
pygame.display.update()