Вам нужно запустить main()
. Для перемещения объекта лучше использовать pygame.key.get_pressed()
. С event
вам придется нажимать клавишу снова и снова или писать по-другому.
С get_pressed()
вы должны использовать if
, а не elif
, потому что он может иметь True
для много ключей одновременно.
import pygame
pygame.init()
white = (255, 255, 255)
black = (0, 0, 0)
X = 1000
Y = 800
display_surface = pygame.display.set_mode((X, Y))
pygame.display.set_caption('Image')
def main():
px = X/2
py = Y/2
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
#elif event.type == pygame.KEYDOWN:
# if event.key == pygame.K_w:
# py += 5
keys = pygame.key.get_pressed()
if keys[pygame.K_w]:
py -= 5
if keys[pygame.K_a]:
px -= 5
if keys[pygame.K_s]:
py += 5
if keys[pygame.K_d]:
px += 5
display_surface.fill(white)
pygame.draw.rect(display_surface, black, (px, py, 25, 25))
pygame.display.update()
main()