Python - Thiết kế bản vẽ sử dụng phím mũi tên trong PyGame

Category: Pygame

Pygame là một bộ mô-đun Python đa nền tảng được thiết kế để viết trò chơi điện tử. Nó bao gồm các thư viện đồ họa máy tính và âm thanh được thiết kế để sử dụng với ngôn ngữ lập trình Python. Tùy thuộc vào trí tưởng tượng hoặc nhu cầu của nhà phát triển, loại trò chơi nào họ muốn phát triển bằng bộ công cụ này sẽ được quyết định. Trong bài viết này, chúng ta sẽ xem cách thiết kế trong PyGame với sự trợ giúp của các phím sao cho điểm đánh dấu thiết kế di chuyển theo chiều ngang khi nhấn phím mũi tên phải hoặc phím mũi tên trái trên bàn phím và di chuyển theo chiều dọc khi nhấn phím mũi tên lên hoặc phím mũi tên xuống. Chúng ta có thể làm điều này bằng cách tạo một điểm (điểm đánh dấu) trên các tọa độ tương ứng, điểm này sẽ thay đổi khi sử dụng các phím.

Change in Co-ordinates of marker for respective keys pressed :

Left arrow key: Decrement in x co-ordinate
Right arrow key: Increment in x co-ordinate
Up arrow key: Decrement in y co-ordinate
Down arrow key: Increment in y co-ordinate

Dưới đây là cách thực hiện -

# import mô-đun pygame vào chương trình này
import pygame

# kích hoạt thư viện pygame.
# khởi tạo pygame và cho phép sử dụng các chức năng của pygame.
pygame.init()

# tạo đối tượng màn hình hiển thị
# với kích thước cụ thể (500, 500).
win = pygame.display.set_mode((500, 500))

# đặt tên cho cửa sổ pygame
pygame.display.set_caption("Moving rectangle")  # "Hình chữ nhật di chuyển"

# tọa độ hiện tại của hình chữ nhật
x = 200
y = 200

# kích thước của hình chữ nhật
width = 10
height = 10

# vận tốc / tốc độ di chuyển
vel = 10

# biến xác định pygame đang chạy
run = True

# vòng lặp vô hạn
while run:
    # tạo độ trễ thời gian 10 mili giây
    pygame.time.delay(10)

    # duyệt qua danh sách các đối tượng sự kiện
    # được trả về bởi phương thức pygame.event.get()
    for event in pygame.event.get():

        # nếu kiểu sự kiện là QUIT (thoát)
        # thì thoát khỏi pygame và chương trình
        if event.type == pygame.QUIT:
            # thoát khỏi vòng lặp while
            run = False

    # lưu trạng thái phím đang được nhấn
    keys = pygame.key.get_pressed()

    # nếu phím mũi tên trái được nhấn
    if keys[pygame.K_LEFT] and x > 0:
        # giảm tọa độ x
        x -= vel

    # nếu phím mũi tên phải được nhấn
    if keys[pygame.K_RIGHT] and x < 500 - width:
        # tăng tọa độ x
        x += vel

    # nếu phím mũi tên lên được nhấn
    if keys[pygame.K_UP] and y > 0:
        # giảm tọa độ y
        y -= vel

    # nếu phím mũi tên xuống được nhấn
    if keys[pygame.K_DOWN] and y < 500 - height:
        # tăng tọa độ y
        y += vel

    # vẽ hình chữ nhật (hình di chuyển) lên màn hình
    pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))

    # cập nhật lại cửa sổ hiển thị
    pygame.display.update()

# đóng cửa sổ pygame
pygame.quit()

Published on Jul 28, 2025

Related Posts