你自己的函数
本课属于 Coddy Pygame 学习旅程的“游戏窗口中的 Python”单元。第 21 课,共 33 课。
函数是一组带名称的代码行,你可以随时运行。用 def 来定义函数:
def draw_star():
pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)def、函数名、圆括号和冒号;函数体要缩进写在下面。定义函数不会绘制任何内容:Python 只会记住函数名下面的代码行。
要运行函数,就要调用它:写出函数名并加上括号。
draw_star()在设置部分,也就是游戏循环之前定义函数;然后在需要的地方于循环中调用它们。从第一节课开始,你就已经调用过函数了:print() 和 pygame.draw.circle() 也是函数,由其他人编写。
pygame.draw.line(screen, colour, start, end, width) 会绘制两点之间的线段。
挑战
中等把星星放进一个函数里。
- 在设置部分,创建
def draw_star():,并把绘制星星的三行代码移到函数体中。 - 在绘制部分,调用
draw_star()。
按“开始”:星星仍然显示在中间。然后按“检查”。
亲手试试
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.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)
pygame.display.flip()
clock.tick(60)
pygame.quit()
游戏窗口中的 Python中的所有课
自己练习: Pygame 在线编辑器