Menu
CoddyTech

El corredor

Parte de la sección Reglas del juego del Journey de Pygame de Coddy. Lección 23 de 29.

En este capítulo crearás Sky Runner, un juego de carrera infinita. El corredor se mantiene cerca del borde izquierdo mientras los obstáculos llegan desde la derecha; saltas por encima de ellos tanto tiempo como puedas. Se dibujan el cielo y el suelo. El corredor es un sprite, como en la sección 3:

class Runner(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load("assets/images/player.png").convert_alpha()
        self.rect = self.image.get_rect(midbottom=(100, GROUND_Y))

midbottom coloca el centro del borde inferior de la imagen en un punto. Los pies del corredor están en la parte inferior de su imagen, así que midbottom=(100, GROUND_Y) lo coloca sobre el suelo en x 100, sea cual sea su altura.

GROUND_Y es la coordenada y del borde superior del suelo: 260. Todo lo que se apoya en el suelo usa ese valor, así que mover el suelo más adelante solo requiere un cambio.

challenge icon

Desafío

Fácil
  1. Escribe una clase de sprite Runner cuya imagen sea assets/images/player.png y cuyo rectángulo tenga su midbottom en (100, GROUND_Y).
  2. Crea uno, llamado runner, antes del bucle.
  3. Dibuja runner.image en runner.rect después de dibujar el suelo.

Pruébalo tú mismo

import pygame

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

SKY = (140, 200, 240)
GROUND = (90, 160, 80)
GROUND_Y = 260

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

    screen.fill(SKY)
    pygame.draw.rect(screen, GROUND, (0, GROUND_Y, 640, 60))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Todas las lecciones de Reglas del juego

Practica por tu cuenta: Playground de Pygame