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.
Thử thách
Trung bìnhHiển thị vị trí của sao chổi trên nhãn.
- Trong
font.render(...), đổi"Comet"thànhf"Comet x: {comet_x}". - Giữ
ftrướ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
1Cửa sổ đầu tiên
Chương trình đầu tiên của bạnIn ra một thông điệpIn ra một sốMàu sắc dưới dạng sốVẽ mặt trăng2Số và biến
Đặt tên cho một giá trịThực hiện phép tínhDi chuyển mỗi khung hìnhChữ trên màn hìnhSố nguyên và số thựcTự luyện tập: Playground Pygame