Sua própria função
Parte da seção Python em uma janela de jogo do Journey de Pygame da Coddy. Lição 20 de 32.
Uma função é um grupo nomeado de linhas que você pode executar quando quiser. def cria uma:
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, o nome, parênteses e dois-pontos; o corpo fica indentado abaixo dele. Definir uma função não desenha nada: o Python apenas guarda as linhas associadas ao nome.
Para executá-las, chame a função: escreva o nome dela com parênteses.
draw_star()Defina funções na parte de configuração, antes do loop do jogo, e chame-as no loop onde precisar delas. Você chama funções desde a primeira lição: print() e pygame.draw.circle() também são funções, escritas por outras pessoas.
pygame.draw.line(screen, colour, start, end, width) desenha uma linha entre dois pontos.
Desafio
MédioColoque a estrela em uma função:
- Na parte de configuração, crie
def draw_star():e mova as três linhas da estrela para o corpo dela. - Na parte de desenho, chame
draw_star(). A estrela aparece em (320, 240), como antes.
Experimente você mesmo
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Configure as coisas aqui, antes do loop do jogo.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Altere as coisas aqui, uma vez por quadro.
screen.fill((20, 24, 48))
# Desenhe aqui, após o preenchimento.
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()
Todas as lições de Python em uma janela de jogo
Pratique por conta própria: Playground de Pygame