用数字表示颜色
本课属于 Coddy Pygame 学习旅程的“游戏窗口中的 Python”单元。第 4 课,共 33 课。
屏幕上的颜色由三个数字表示:红光、绿光和蓝光各混合多少,每个数字的范围都是 0 到 255。这就是 RGB。
(255, 0, 0)是红色,(0, 255, 0)是绿色,(0, 0, 255)是蓝色。(0, 0, 0)是黑色,所有光都关闭;(255, 255, 255)是白色,所有光都开到最大。(255, 255, 0)是黄色:红光和绿光混合在一起。(20, 24, 48)表示光线较暗且蓝光更多:夜蓝色。
用逗号分隔并放在圆括号中的数字组成一个元组。Python 会按顺序将它们放在一起,因此 (48, 24, 20) 是另一种颜色,也就是深棕色。
screen.fill(colour) 会用一种颜色填满整个窗口。它会在每一帧绘制部分的开头运行,因此每一帧都会从干净的窗口开始。
挑战
简单把黑色窗口填充成夜空蓝。
- 找到
screen.fill((0, 0, 0))。 - 把它改成
screen.fill((20, 24, 48))。
按下“开始”:窗口会变成夜空蓝。然后按“检查”。
亲手试试
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# 在这里进行设置,放在游戏循环之前。
comet_x = 0
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 在这里修改内容,每帧执行一次。
comet_x = comet_x + 3
if comet_x > 700:
comet_x = -60
screen.fill((0, 0, 0))
# 填充背景后,在这里绘制。
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()
游戏窗口中的 Python中的所有课
自己练习: Pygame 在线编辑器