Ваша собственная функция
Часть раздела Python в игровом окне путешествия по Pygame на Coddy. Урок 20 из 32.
Функция — это именованная группа строк, которую можно запускать, когда угодно. Для её создания используется 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(). Звезда появится в точке (320, 240), как и раньше.
Попробуйте сами
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