Coloca las estrellas
Parte de la sección Python en una ventana de juego del Journey de Pygame de Coddy. Lección 29 de 32.
Las últimas cuatro lecciones construyen un pequeño juego, Night Sky: haces clic para colocar estrellas, estas titilan, un contador muestra cuántas hay y, al llegar a veinte, el cielo está lleno. Cada lección comienza con el código de la anterior.
El juego usa lo que enseña esta sección. Las estrellas son una lista de posiciones, que se crea vacía antes del bucle del juego. Un clic agrega su posición y un bucle for dibuja todas las estrellas de la lista en cada fotograma:
stars = []
if event.type == pygame.MOUSEBUTTONDOWN:
stars.append(event.pos)
for star in stars:
pygame.draw.circle(screen, (255, 255, 255), star, 3)Dibuja las estrellas después de la luna y el suelo, para que aparezcan encima. Una estrella colocada sobre la luna queda delante de ella, como si estuviera más cerca.
Desafío
FácilEmpieza el cielo nocturno:
- Crea
stars = []antes del bucle del juego. - Cuando ocurra un evento
MOUSEBUTTONDOWN, añadeevent.posastars. - Después de la luna y el suelo, dibuja cada estrella como un círculo blanco de
(255, 255, 255)con radio 3.
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
# Cambia las cosas aquí, una vez por fotograma.
screen.fill((20, 24, 48))
# Dibuja aquí, después de rellenar la pantalla.
pygame.draw.circle(screen, (240, 230, 160), (560, 80), 40)
pygame.draw.rect(screen, (14, 16, 30), (0, 430, 640, 50))
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