Menu
CoddyTech

Đường viền và góc

Thuộc phần Vòng lặp trò chơi trong hành trình Pygame của Coddy. Bài học 10 trên 35.

Cho đến giờ, các hình đều được tô kín. Khi đặt độ rộng cho một hình, pygame chỉ vẽ đường viền với độ dày tính bằng số pixel đó:

pygame.draw.rect(screen, (240, 240, 240), (100, 100, 120, 60), 2)
pygame.draw.circle(screen, (240, 240, 240), (300, 130), 30, 2)

Độ rộng bằng 0 hoặc không đặt độ rộng sẽ tô kín hình. Cách này áp dụng như nhau cho hình chữ nhật, hình tròn và đa giác.

Hình chữ nhật cũng có thể có các góc bo tròn. border_radius là bán kính đường cong ở mỗi góc, tính bằng pixel. Truyền tham số này theo tên, sau các đối số khác:

pygame.draw.rect(screen, (80, 160, 255), (100, 200, 120, 60), border_radius=10)

Nút, bảng và thanh máu thường kết hợp cả hai: một hình chữ nhật bo góc được tô kín, bao quanh bởi đường viền mảnh.

challenge icon

Thử thách

Dễ

Biến chiếc hộp thành nút bấm.

  1. Đặt border_radius=12 cho chiếc hộp màu xanh.
  2. Sau đó, vẽ viền màu trắng (240, 240, 240) tại (130, 130, 220, 80), rộng 3 pixel, với border_radius=16.

Nhấn “Chơi”: một nút màu xanh bo tròn có viền trắng. Sau đó, nhấn “Kiểm tra”.

Tự làm thử

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Button")
clock = pygame.time.Clock()

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

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (80, 160, 255), (140, 140, 200, 60))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tất cả bài học trong Vòng lặp trò chơi

Tự luyện tập: Playground Pygame