Menu
CoddyTech

Le coureur

Fait partie de la section Règles du jeu du Journey Pygame de Coddy. Leçon 23 sur 29.

Ce chapitre présente Sky Runner, un jeu de course sans fin. Le personnage reste près du bord gauche tandis que les obstacles arrivent par la droite ; tu sautes par-dessus aussi longtemps que tu le peux. Le ciel et le sol sont dessinés. Le personnage est un sprite, comme dans la section 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 place le milieu du bord inférieur de l’image sur un point. Les pieds du personnage se trouvent en bas de son image, donc midbottom=(100, GROUND_Y) le pose au sol à x 100, quelle que soit sa hauteur.

GROUND_Y est la coordonnée y du bord supérieur du sol, 260. Tous les éléments qui reposent sur le sol l’utilisent ; ainsi, déplacer le sol plus tard ne nécessitera qu’une seule modification.

challenge icon

Défi

Facile
  1. Écris une classe de sprite Runner dont l’image est assets/images/player.png et dont le rect a son midbottom à (100, GROUND_Y).
  2. Crée-en un, nommé runner, avant la boucle.
  3. Blitte runner.image à runner.rect après avoir dessiné le sol.

Essayez vous-même

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()

Toutes les leçons de Règles du jeu

Entraînez-vous par vous-même : Playground Pygame