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.
Défi
Facile- Écris une classe de sprite
Runnerdont l’image estassets/images/player.pnget dont le rect a sonmidbottomà (100,GROUND_Y). - Crée-en un, nommé
runner, avant la boucle. - Blitte
runner.imageàrunner.rectaprè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