Menu
CoddyTech

Chữ trên màn hình

Thuộc phần Python trong cửa sổ trò chơi trong hành trình Pygame của Coddy. Bài học 9 trên 33.

Nhấn Chơi: từ Comet nằm ở góc trên bên trái. Ba dòng lệnh đặt từ này vào đó:

font = pygame.font.Font(None, 36)

    text = font.render("Comet", True, (230, 230, 240))
    screen.blit(text, (20, 20))

Phông chữ được tạo một lần trong phần thiết lập: phông chữ riêng của pygame với kích thước 36. render biến một chuỗi thành hình ảnh có màu (True làm mịn các cạnh), còn screen.blit đặt hình ảnh đó lên cửa sổ, với góc trên bên trái ở vị trí (20, 20). Mọi trò chơi hiển thị văn bản đều dùng ba dòng này.

Để hiển thị giá trị của một biến, hãy viết f-string: đặt f trước dấu ngoặc kép mở, rồi đặt tên biến trong dấu ngoặc nhọn:

f"Comet x: {comet_x}"

Khi comet_x có giá trị 58, đây là chuỗi Comet x: 58. Nếu không có f, dấu ngoặc nhọn và tên biến sẽ hiển thị nguyên văn.

challenge icon

Thử thách

Trung bình

Hiển thị vị trí của sao chổi trên nhãn.

  1. Trong font.render(...), đổi "Comet" thành f"Comet x: {comet_x}".
  2. Giữ f trước dấu ngoặc kép mở.

Nhấn Chơi: số trên nhãn tăng dần khi sao chổi bay. Sau đó nhấn Kiểm tra.

Tự làm thử

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Thiết lập mọi thứ ở đây, trước vòng lặp trò chơi.
moon_x = 160
moon_y = 120
comet_x = 40
comet_y = 200
font = pygame.font.Font(None, 36)

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

    # Thay đổi mọi thứ ở đây, mỗi khung hình một lần.
    comet_x = comet_x + 2

    screen.fill((20, 24, 48))
    # Vẽ ở đây, sau khi tô nền.
    pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
    pygame.draw.circle(screen, (120, 200, 255), (comet_x, comet_y), 8)
    text = font.render("Comet", True, (230, 230, 240))
    screen.blit(text, (20, 20))

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tất cả bài học trong Python trong cửa sổ trò chơi

Tự luyện tập: Playground Pygame