Python | Vẽ các hình dạng khác nhau trên cửa sổ 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ử. Bộ công cụ này 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. Lệnh cài đặt pygame :

pip install pygame

Có bốn bước cơ bản để hiển thị hình ảnh trên pygame cửa sổ:

  • Tạo đối tượng bề mặt hiển thị bằng display.set_mode() phương thức pygame.

  • Tô toàn bộ bề mặt vật thể bằng màu trắng bằng fill() phương pháp hiển thị bề mặt vật thể của PyGame.

  • Vẽ các hình dạng khác nhau lên bề mặt vật thể bằng Primitive Drawing Functions pygame.

  • Hiển thị đối tượng bề mặt hiển thị trên cửa sổ pygame bằng display.update() phương thức pygame.

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

# nhập mô-đun pygame trong chương trình này
import pygame

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

# định nghĩa giá trị RGB
# cho các màu: trắng, xanh lá,
# xanh dương, đen, đỏ tương ứng.
white = (255, 255, 255)
green = (0, 255, 0)
blue = (0, 0, 128)
black = (0, 0, 0)
red = (255, 0, 0)

# gán giá trị cho biến X và Y
X = 400
Y = 400

# tạo đối tượng surface hiển thị
# với kích thước cụ thể (X, Y).
display_surface = pygame.display.set_mode((X, Y))

# đặt tên cho cửa sổ pygame
pygame.display.set_caption('Drawing')

# tô toàn bộ surface hiển thị
# bằng màu trắng
display_surface.fill(white)

# vẽ một hình đa giác bằng hàm draw.polygon()
# của pygame.
# pygame.draw.polygon(surface, color, danh sách điểm, độ dày đường)
# tham số độ dày là không bắt buộc.
pygame.draw.polygon(display_surface, blue,
                    [(146, 0), (291, 106),
                     (236, 277), (56, 277), (0, 106)])

# vẽ một đường thẳng bằng hàm draw.line()
# của pygame.
# pygame.draw.line(surface, color,
# điểm bắt đầu, điểm kết thúc, độ dày)
pygame.draw.line(display_surface, green,
                 (60, 300), (120, 300), 4)

# vẽ một hình tròn bằng hàm draw.circle()
# của pygame.
# pygame.draw.circle(surface, color,
# tâm, bán kính, độ dày)
pygame.draw.circle(display_surface,
                   green, (300, 50), 20, 0)

# vẽ một hình elip bằng hàm draw.ellipse()
# của pygame.
# pygame.draw.ellipse(surface, color,
# hình chữ nhật bao ngoài, độ dày)
pygame.draw.ellipse(display_surface, black,
                    (300, 250, 40, 80), 1)

# vẽ một hình chữ nhật bằng hàm draw.rect()
# của pygame.
# pygame.draw.rect(surface, color,
# tuple hình chữ nhật, độ dày)
# tham số độ dày là không bắt buộc.
pygame.draw.rect(display_surface, black,
                 (150, 300, 100, 50))

# vòng lặp vô hạn
while True:

    # lặp 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
        # thì thoát pygame
        # và kết thúc chương trình.
        if event.type == pygame.QUIT:

            # tắt pygame
            pygame.quit()

            # thoát chương trình
            quit()

        # vẽ surface lên màn hình
        pygame.display.update()

Đầu ra:Đầu ra- 1

Published on Jul 28, 2025

Related Posts