Menu
CoddyTech

画月亮

本课属于 Coddy Pygame 学习旅程的“游戏窗口中的 Python”单元。第 5 课,共 33 课。

pygame.draw.circle 会在窗口上绘制一个实心圆:

pygame.draw.circle(screen, (240, 230, 160), (320, 240), 30)

它按顺序接收四项内容:要在其上绘图的表面(screen,也就是窗口)、颜色、表示圆心的 (x, y) 元组,以及以像素为单位的半径。

x 表示从左边缘开始计算的像素数。y 表示从顶部边缘开始向下计算的像素数。(0, 0) 是左上角,(640, 480) 是右下角,所以 y 越大,位置越靠近窗口底部。

在 screen.fill() 之后绘图。填充操作会涂满整个窗口,所以在同一帧中,先于它绘制的内容都会被覆盖。

challenge icon

挑战

简单

把月亮移到右上角,并让它变大。

  1. 将它的中心设为 (500, 110)。
  2. 将它的半径设为 50。
  3. 保持它的颜色为 (240, 230, 160)。

按“运行”:更大的月亮会出现在右上角。然后按“检查”。

亲手试试

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# 在这里完成设置,然后进入游戏循环。

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

    # 在这里修改内容,每帧执行一次。

    screen.fill((20, 24, 48))
    # 填充完成后,在这里绘制。
    pygame.draw.circle(screen, (240, 230, 160), (320, 240), 30)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

游戏窗口中的 Python中的所有课

自己练习: Pygame 在线编辑器