Der Läufer
Teil des Abschnitts Spielregeln der Pygame-Journey von Coddy. Lektion 23 von 29.
In diesem Kapitel entwickeln wir Sky Runner, ein Endlos-Laufspiel. Die Spielfigur bleibt nahe am linken Rand, während Hindernisse von rechts kommen; du springst so lange über sie, wie du kannst. Himmel und Boden werden gezeichnet. Die Spielfigur ist ein Sprite, wie in Abschnitt 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 platziert die Mitte der unteren Bildkante an einem Punkt. Die Füße der Spielfigur befinden sich am unteren Rand ihres Bildes, daher stellt midbottom=(100, GROUND_Y) sie bei x 100 auf den Boden, unabhängig von ihrer Höhe.
GROUND_Y ist die y-Koordinate der oberen Bodenkante, 260. Alles, was auf dem Boden steht, verwendet diesen Wert. Wenn du den Boden später verschiebst, musst du ihn also nur an einer Stelle ändern.
Aufgabe
Einfach- Schreibe eine Sprite-Klasse
Runner, deren Bildassets/images/player.pngist und deren Rechteck seinmidbottombei (100,GROUND_Y) hat. - Erstelle vor der Schleife ein Exemplar namens
runner. - Zeichne
runner.imagenach dem Zeichnen des Bodens anrunner.rectauf.
Probier es selbst
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()
Alle Lektionen in Spielregeln
Übe selbstständig: Pygame-Playground