Menu
CoddyTech

Aparecer por el otro lado

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

Un if ejecuta sus líneas solo cuando una condición es verdadera:

if comet_x > 640:
    comet_x = 0

La condición termina con dos puntos. Las líneas que están debajo llevan una sangría de 4 espacios: pertenecen al if. Python comprueba la condición en cada fotograma. Mientras el cometa está dentro de la ventana, es falsa y no ocurre nada. Cuando el cometa pasa el borde derecho, es verdadera y el cometa vuelve a la izquierda.

Una comparación es True o False. > significa mayor que, < menor que y == pregunta si dos valores son iguales. Un = asigna un valor; dos comparan.

Comprueba un rango, como > 640, no un valor exacto. El cometa empieza en 50 y se mueve 3 píxeles por fotograma: 635, 638, 641. Nunca llega a 640, así que comet_x == 640 nunca sería verdadero.

challenge icon

Desafío

Fácil

Después de la línea que mueve el cometa, agrega un if: cuando comet_x sea mayor que 640, establece comet_x en 0. Así, el cometa vuelve a cruzar la ventana una y otra vez.

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.
moon_x = 160
moon_y = 120
comet_x = 50
comet_y = 200

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.
    comet_x = comet_x + 3

    screen.fill((20, 24, 48))
    # Dibuja aquí, después de rellenar la pantalla.
    pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
    pygame.draw.circle(screen, (120, 200, 255), (comet_x, comet_y), 8)

    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