Menu
CoddyTech

Tu propia función

Parte de la sección Python en una ventana de juego del Journey de Pygame de Coddy. Lección 20 de 32.

Una función es un grupo con nombre de líneas que puedes ejecutar cuando quieras. def crea una:

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, el nombre, paréntesis y dos puntos; el cuerpo va indentado debajo. Definir una función no dibuja nada: Python solo recuerda las líneas bajo el nombre.

Para ejecutarla, llama a la función: escribe su nombre con paréntesis.

draw_star()

Define funciones en la parte de configuración, antes del bucle del juego, y llámalas en el bucle donde las necesites. Has llamado a funciones desde la primera lección: print() y pygame.draw.circle() también son funciones, escritas por otras personas.

pygame.draw.line(screen, colour, start, end, width) dibuja una línea entre dos puntos.

challenge icon

Desafío

Intermedio

Pon la estrella en una función:

  1. En la parte de configuración, crea def draw_star(): y mueve las tres líneas de la estrella a su cuerpo.
  2. En la parte de dibujo, llama a draw_star(). La estrella aparece en (320, 240), como antes.

Pruébalo tú mismo

import pygame

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

# Configura las cosas aquí, antes del bucle del juego.

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

    # Modifica las cosas aquí, una vez por fotograma.

    screen.fill((20, 24, 48))
    # Dibuja aquí, después de rellenar la pantalla.
    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 las lecciones de Python en una ventana de juego

Practica por tu cuenta: Playground de Pygame