Menu
CoddyTech

Phím mũi tên

Bài học 5 trên 41 trong khóa học Tạo trò chơi với Pygame của Coddy.

Để di chuyển hình vuông, hãy lưu vị trí của nó trong các biến và vẽ hình vuông ở vị trí đó trong mỗi khung hình. Thay đổi các biến, khung hình tiếp theo sẽ hiển thị hình vuông ở một vị trí khác.

pygame.key.get_pressed() cho bạn biết những phím nào đang được nhấn. Dùng hằng số của phím để truy cập, chẳng hạn như pygame.K_RIGHT: kết quả là True khi phím đó đang được nhấn.

x = 100

while running:
    # sự kiện
    keys = pygame.key.get_pressed()
    if keys[pygame.K_RIGHT]:
        x += 4
    # tô nền, rồi vẽ tại x

Giữ phím mũi tên phải, hình vuông sẽ di chuyển 4 pixel trong mỗi khung hình, tức 240 pixel mỗi giây ở tốc độ 60 khung hình mỗi giây. Các phím mũi tên là K_LEFT, K_RIGHT, K_UP và K_DOWN. Phím mũi tên lên làm y nhỏ hơn.

Tạo các biến trước vòng lặp. Biến được đặt bên trong vòng lặp sẽ bắt đầu lại ở mỗi khung hình. x, y = 100, 50 đặt hai tên trên một dòng: x nhận giá trị 100 và y nhận giá trị 50.

challenge icon

Thử thách

Dễ

Di chuyển hình vuông bằng các phím mũi tên.

  1. Trước vòng lặp, tạo x, y = 220, 160 và speed = 4.
  2. Trong vòng lặp, sau khi xử lý các sự kiện, đọc pygame.key.get_pressed(). Mỗi phím mũi tên được giữ sẽ thay đổi x hoặc y một lượng bằng speed.
  3. Vẽ hình vuông tại (x, y, 40, 40).

Nhấn Chơi và giữ các phím mũi tên: hình vuông sẽ di chuyển. Sau đó nhấn Kiểm tra.

Tự làm thử

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tất cả bài học trong Tạo trò chơi với Pygame

Tự luyện tập: Playground Pygame