给值命名
本课属于 Coddy Pygame 学习旅程的“游戏窗口中的 Python”单元。第 6 课,共 33 课。
变量是值的名称。单个 = 会将右边的值存储在左边的名称下:
star_x = 300
star_y = 60
pygame.draw.circle(screen, (255, 255, 255), (star_x, star_y), 3)Python 遇到 star_x 时,都会使用存储在其中的值 300。只需在一处更改数字,所有使用这个名称的代码行都会随之改变。
= 在这里不表示数学中的“等于”,而是表示“存储”:star_x = 320 会将 320 存入 star_x,替换其中原来的值。
名称由字母、数字和下划线组成,并且以字母开头。大小写有区别:Star_x 是另一个名称。选择能说明值是什么的名称。
在游戏循环之前的设置部分创建变量。这样,循环就会在每一帧读取它们。
挑战
简单给月亮的位置命名,让它移动。
- 在
# Set things up here下方,添加moon_x = 160和moon_y = 120,前面不要加空格。 - 在绘制月亮的语句中,将
(500, 110)替换为(moon_x, moon_y)。
按“开始”:月亮会移动到左上方。然后按“检查”。
亲手试试
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), (500, 110), 50)
pygame.display.flip()
clock.tick(60)
pygame.quit()
游戏窗口中的 Python中的所有课
自己练习: Pygame 在线编辑器