Lỗi không thể di chuyển nhân vật trong Pygame

Hi mọi người,mình đang chạy 1 chương trình Pygame,đến phần di chuyển nhân vật thì khi chạy nhân vật của mình chỉ có thể đi bên trái và không thể đi bên nào khác được,mọi người giúp mình với :frowning:
Code của mình như thế này:

import pygame

pygame.init()
#xac dinh kich thuoc man hinh
win = pygame.display.set_mode((1000, 500))
#dat ten cho tro choi
pygame.display.set_caption("My first game!")

x = 50
y = 50
width = 30
height = 50
vel = 5

run: bool = True
while run:
    pygame.time.delay(100)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
           run = False
#phan di chuyen cho nhan vat
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= vel
        if keys[pygame.K_RIGHT]:
            x += vel
            if keys[pygame.K_UP]:
                y -= vel
                if keys[pygame.K_DOWN]:
                    y += vel
#xoa dau nhan vat cu di khi di chuyen
    win.fill((0, 0, 0))
#ve nhan vat
    pygame.draw.rect(win, (0, 255, 0), (x, y, width, height))
    pygame.display.update()

pygame.quit()

Bạn nên ôn lại if :smiley:

6 Likes

sai ở mấy câu if đấy bạn, indent là là xong :slight_smile:

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?