Đườ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.
Thử thách
DễBiến chiếc hộp thành nút bấm.
- Đặt
border_radius=12cho chiếc hộp màu xanh. - Sau đó, vẽ viền màu trắng
(240, 240, 240)tại(130, 130, 220, 80), rộng3pixel, vớiborder_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
1Di chuyển hình vuông
Mở cửa sổTô nền4Di chuyển theo thời gian
Thời gian deltaPixel mỗi giâyVector2Gia tốc và ma sátDi chuyển vòng quanh màn hình2Hình dạng và màu sắc
Hình tròn, đường thẳng và đa giácĐường viền và gócMột khung cảnh với các hìnhMàu sắc thay đổiTự luyện tập: Playground Pygame