Bắt đầu với Pygame

Category: Pygame

Pygame là một bộ mô-đun Python miễn phí và mã nguồn mở. Đúng như tên gọi, nó có thể được sử dụng để xây dựng trò chơi. Bạn có thể mã hóa trò chơi và sau đó sử dụng các lệnh cụ thể để chuyển đổi nó thành tệp thực thi để chia sẻ với bạn bè và cho họ thấy công việc bạn đã làm. PyGame 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. PyGame 2.0.1 là phiên bản mới nhất tại thời điểm viết bài này.

Thiết lập Pygame:

Theo mặc định, Python không tích hợp sẵn PyGame dưới dạng thư viện. Vì vậy, chúng ta phải cài đặt nó bằng dấu nhắc lệnh. Mở dấu nhắc lệnh và nhập lệnh sau: 

pip cài đặt pygame

Nếu bạn đã cài đặt PyGame, hãy sử dụng lệnh sau để kiểm tra phiên bản:

pip show pygame

Nếu Pygame của bạn chưa được cập nhật lên phiên bản mới nhất, hãy sử dụng lệnh sau:

pip cài đặt pygame --nâng cấp

Nếu lệnh này hiển thị lỗi ModuleNotFoundError thì rõ ràng là pygame chưa được cài đặt.

Ví dụ PyGame đơn giản:

Chức năng được sử dụng:

  • pygame.init(): Lệnh này được sử dụng để khởi tạo mô-đun pygame.

  • pygame.display.set_mode((500,500)): Lệnh này được sử dụng để tạo một cửa sổ có kích thước mong muốn (chiều rộng, chiều cao). Giá trị trả về là một Đối tượng Bề mặt, là đối tượng mà chúng ta thực hiện các thao tác đồ họa khác nhau.

  • pygame.display.set_caption(title = ""): Lệnh này được sử dụng để đặt tiêu đề cho cửa sổ/bảng.

  • pygame.event.get(): Hàm này được dùng để xóa hàng đợi sự kiện. Nếu không gọi hàm này, các thông báo cửa sổ sẽ bắt đầu chồng chất và hệ điều hành sẽ cho rằng trò chơi không phản hồi.

  • pygame.QUIT: Được sử dụng để chấm dứt sự kiện khi chúng ta nhấp vào nút đóng ở góc cửa sổ.

import pygame

pygame.init()

# CREATING CANVAS
canvas = pygame.display.set_mode((500, 500))

# TITLE OF CANVAS
pygame.display.set_caption("My Board")
exit = False

while not exit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit = True
    pygame.display.update()

Đầu ra:

Thêm hình ảnh vào cửa sổ Pygame:

Blitting là quá trình render đối tượng trò chơi lên bề mặt. Khi tạo đối tượng trò chơi, chúng ta nên render nó. Nếu không render, đối tượng sẽ hiển thị cửa sổ đen. Trong pygame, có một cách để thực hiện quá trình blitting này, đó là dùng hàm blit().

Đây là một trong những thao tác chậm nhất trong bất kỳ trò chơi nào, vì vậy chúng ta cần phải cẩn thận khi sử dụng vì không nên để quá nhiều thứ xuất hiện trên màn hình trong mỗi khung hình.

Cú pháp: blit(src, dest)

src: Đây là nguồn của hình ảnh mà chúng ta muốn hiển thị trên màn hình

dest: Đây là tọa độ mà chúng ta muốn hình ảnh của mình được hiển thị.

Mã số:

import pygame

pygame.init()

color = (255,255,255)
position = (0,0)

# CREATING CANVAS
canvas = pygame.display.set_mode((500,500))

# TITLE OF CANVAS
pygame.display.set_caption("Show Image")

image = pygame.image.load("Screenshot.png")
exit = False

while not exit:
    canvas.fill(color)
    canvas.blit(image, dest = position)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit = True

    pygame.display.update()

Đầu ra:

Hộp hình chữ nhật trong cửa sổ Pygame:

Trong Pygame, chúng ta sử dụng phương thức rect() để vẽ các ô hình chữ nhật trên cửa sổ. Pygame sử dụng các đối tượng Rect để lưu trữ và thao tác các vùng hình chữ nhật. Vùng hình chữ nhật có thể được tạo thành bằng cách kết hợp các giá trị left (trái), top (trên), width (rộng) và height (cao).

import pygame

pygame.init()

color = (255,255,255)
rect_color = (255,0,0)

# CREATING CANVAS
canvas = pygame.display.set_mode((500,500))

# TITLE OF CANVAS
pygame.display.set_caption("Show Image")

image = pygame.image.load("Screenshot.png")
exit = False

while not exit:
    canvas.fill(color)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit = True

    pygame.draw.rect(canvas, rect_color,
                     pygame.Rect(30,30,60,60))
    pygame.display.update()

Đầu ra:

Published on Jul 25, 2025

Related Posts