Màu sắc dưới dạng số
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 4 trên 33.
Một màu trên màn hình gồm ba con số: lượng ánh sáng đỏ, xanh lá và xanh dương cần trộn, mỗi số từ 0 đến 255. Đây là RGB.
(255, 0, 0)là màu đỏ,(0, 255, 0)là màu xanh lá,(0, 0, 255)là màu xanh dương.(0, 0, 0)là màu đen, tất cả đèn đều tắt;(255, 255, 255)là màu trắng, tất cả đèn đều sáng hết.(255, 255, 0)là màu vàng: ánh sáng đỏ và xanh lá kết hợp với nhau.(20, 24, 48)là một màu có ít ánh sáng và nhiều sắc xanh dương hơn: xanh đêm.
Các con số trong ngoặc tròn, được ngăn cách bằng dấu phẩy, tạo thành một tuple. Python giữ chúng cùng nhau và theo đúng thứ tự, vì vậy (48, 24, 20) là một màu khác, màu nâu sẫm.
screen.fill(colour) tô toàn bộ cửa sổ bằng một màu. Lệnh này chạy ở đầu phần vẽ trong mỗi khung hình, vì vậy mỗi khung hình bắt đầu với một cửa sổ trống.
Thử thách
DễTô cửa sổ màu đen thành màu xanh đêm.
- Tìm
screen.fill((0, 0, 0)). - Đổi thành
screen.fill((20, 24, 48)).
Nhấn "Chơi": cửa sổ chuyển sang màu xanh đêm. 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.
comet_x = 0
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 + 3
if comet_x > 700:
comet_x = -60
screen.fill((0, 0, 0))
# Vẽ ở đây, sau khi tô nền.
pygame.draw.circle(screen, (240, 230, 160), (500, 110), 80)
pygame.draw.circle(screen, (255, 255, 255), (comet_x, 300), 6)
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ăngTự luyện tập: Playground Pygame