So können Sie Ihrem Spiel Levels hinzufügen, um es spannender und unterhaltsamer zu gestalten.

Levels sind ein wesentlicher Aspekt der meisten Videospiele. Sie bieten Struktur, Herausforderung und Abwechslung und können das Spielerlebnis erheblich verbessern. PyGame, eine beliebte Python-Bibliothek für die Spieleentwicklung, bietet verschiedene Funktionen, mit denen Sie ganz einfach verschiedene Level erstellen können. Ein gut gestaltetes Level kann den Spieler fesseln, ein Gefühl des Fortschritts vermitteln und ihn letztendlich für seine Bemühungen belohnen.

Planungs- und Gestaltungsebenen

Vor dem Erstellen von Levels ist es wichtig, diese zu planen und zu gestalten. Planungsebenen helfen dabei, ein gut strukturiertes Spiel zu erstellen, das den Spielern den richtigen Schwierigkeitsgrad bietet. Um Levels zu planen, müssen Sie verschiedene Faktoren berücksichtigen, wie zum Beispiel die Spielmechanik, die Geschichte und die Gesamtstruktur des Spiels.

Wenn Sie beispielsweise ein Plattformspiel entwerfen, müssen Sie über die Platzierung der Plattformen, der Feinde und der Hindernisse nachdenken. Sie müssen auch die Bewegungen des Spielers berücksichtigen, z. B. Springen und Laufen, und die Level entsprechend gestalten.

instagram viewer

Der in diesem Artikel verwendete Code ist hier verfügbar GitHub-Repository Die Nutzung steht Ihnen unter der MIT-Lizenz kostenlos zur Verfügung.

Erstellen von zwei einfachen Ebenen

Bevor Sie beginnen, stellen Sie sicher, dass Sie dies getan haben pip auf Ihrem System installiert. Verwenden Sie diesen Befehl, um die zu installieren Pygame Bibliothek:

Pip Pygame installieren

Erstellen Sie nun zwei einfache Level mit einer Plattform und einem Spieler. Hier ist der Code für die erste Ebene:

importieren Pygame

pygame.init()

# Konstanten definieren
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PLATFORM_WIDTH = 100
PLATFORM_HEIGHT = 20
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
PLATFORM_COLOR = (255, 255, 255)
PLAYER_COLOR = (255, 0, 0)

# Erstellen Sie den Bildschirm
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

# Erstellen Sie die Plattform
Plattform = Pygame. Rect(350, 500, PLATFORM_WIDTH, PLATFORM_HEIGHT)

# Erstelle den Player
Spieler = Pygame. Rect(375, 450, PLAYER_WIDTH, PLAYER_HEIGHT)

# Spielschleife
laufen = WAHR
während Betrieb:
für Fall In pygame.event.get():
Wenn event.type == pygame. AUFHÖREN:
laufen = FALSCH
elif event.type == pygame. TASTE NACH UNTEN:
Wenn event.key == pygame. K_LEFT:
player.move_ip(-10, 0)
elif event.key == pygame. K_RIGHT:
player.move_ip(10, 0)

# Füllen Sie den Bildschirm mit schwarzer Farbe
screen.fill((0, 0, 0))

# Zeichnen Sie die Plattform
pygame.draw.rect (Bildschirm, PLATFORM_COLOR, Plattform)

# Zeichne den Spieler
pygame.draw.rect (Bildschirm, PLAYER_COLOR, Spieler)

# Aktualisieren Sie den Bildschirm
pygame.display.flip()

pygame.quit()

Anschließend erstellen Sie das zweite Level, indem Sie einfach die Plattform und die Position des Spielers ändern. Hier ist der Code für die zweite Ebene:

importieren Pygame

pygame.init()

# Konstanten definieren
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PLATFORM_WIDTH = 150
PLATFORM_HEIGHT = 20
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
PLATFORM_COLOR = (255, 255, 255)
PLAYER_COLOR = (255, 0, 0)

# Erstellen Sie den Bildschirm
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

# Erstellen Sie die Plattform
Plattform = Pygame. Rect(200, 500, PLATFORM_WIDTH, PLATFORM_HEIGHT)

# Erstelle den Player
Spieler = Pygame. Rect(225, 450, PLAYER_WIDTH, PLAYER_HEIGHT)

# Spielschleife
laufen = WAHR
während Betrieb:
für Fall In pygame.event.get():
Wenn event.type == pygame. AUFHÖREN:
laufen = FALSCH
elif event.type == pygame. TASTE NACH UNTEN:
Wenn event.key == pygame. K_LEFT:
player.move_ip(-10, 0)
elif event.key == pygame. K_RIGHT:
player.move_ip(10, 0)

# Füllen Sie den Bildschirm mit schwarzer Farbe
screen.fill((0, 0, 0))

# Zeichnen Sie die Plattform
pygame.draw.rect (Bildschirm, PLATFORM_COLOR, Plattform)

# Zeichne den Spieler
pygame.draw.rect (Bildschirm, PLAYER_COLOR, Spieler)

# Aktualisieren Sie den Bildschirm
pygame.display.flip()

pygame.quit()

Dieser Code ähnelt dem ersten Level, jedoch sind die Plattform und die Positionen der Spieler geändert.

Verschiedene Ebenen verbinden

Um verschiedene Level zu verbinden, müssen Sie die Spielschleife ändern, um zwischen den Levels zu wechseln, wenn der Spieler ein Level abschließt. Sie können dies tun, indem Sie eine Variable erstellen, um die aktuelle Ebene zu verfolgen, und bedingte Anweisungen verwenden, um zwischen den Ebenen zu wechseln. Du kannst auch Kollisionen erkennen und prüfen wenn der Spieler das Ende eines Levels erreicht hat.

Hier ist die modifizierte Spielschleife:

current_level = 1

# Zeichnen Sie die Plattform und den Spieler basierend auf dem aktuellen Level
Wenn current_level == 1:
pygame.draw.rect (Bildschirm, PLATFORM_COLOR, Plattform1)
pygame.draw.rect (Bildschirm, PLAYER_COLOR, Spieler)
# Überprüfen Sie, ob der Spieler das Ende des Levels erreicht hat
Wenn player.colliderect (Plattform1) == FALSCH:
current_level = 2
elif current_level == 2:
pygame.draw.rect (Bildschirm, PLATFORM_COLOR, Plattform2)
pygame.draw.rect (Bildschirm, PLAYER_COLOR, Spieler)
# Überprüfen Sie, ob der Spieler das Ende des Levels erreicht hat
Wenn player.colliderect (Plattform2) == WAHR:
laufen = FALSCH

Teilen der Spieldaten zwischen den Levels

Sie müssen die Spieldaten speichern, um sie zwischen den Levels zu teilen. Erstellen Sie dazu ein separates Python-Modul, um die Spieldaten zu speichern und in jedes Level zu importieren.

Hier sind die Schritte:

  • Erstellen Sie ein neues Python-Modul mit dem Namen game_data.py.
  • Definieren Sie eine globale Variable im game_data.py Modul zur Speicherung der Position des Spielers.
  • Importieren Sie in jeder Ebene die Spieldaten Modul.
  • Um die Position des Spielers in jedem Level abzurufen, verwenden Sie die game_data.player_pos Variable statt ein neues Player-Objekt zu erstellen.
  • Um die Position des Spielers zu aktualisieren, ändern Sie den Wert von game_data.player_pos in jeder Iteration.

Hier ist der geänderte Code, um die Position des Spielers zwischen den Levels zu teilen.

Im game_data.py Modul, fügen Sie den folgenden Code hinzu:

player_pos = (0, 0)

Erste Ebene:

importieren Pygame
importieren Spieldaten

# Erstelle den Player
Spieler = Pygame. Rect (game_data.player_pos[0], game_data.player_pos[1], PLAYER_WIDTH, PLAYER_HEIGHT)

# Spielschleife
laufen = WAHR
während Betrieb:
# Zeichne den Spieler
pygame.draw.rect (Bildschirm, PLAYER_COLOR, Spieler)

# Aktualisiert die Position des Spielers im game_data-Modul
game_data.player_pos = (player.x, player.y)

Machen Sie Spiele mit Levels spannender

Das Hinzufügen verschiedener Level zu Ihrem Spiel kann es für die Spieler ansprechender und unterhaltsamer machen. Durch die Verbindung von Levels und den Austausch von Spieldaten können Sie ein nahtloses und zusammenhängendes Spielerlebnis schaffen. Dies kann den Spielern helfen, in die Spielwelt einzutauchen und die Wahrscheinlichkeit von Ablenkung oder Langeweile zu verringern.