Diese Python-Spielbibliothek ist voller Funktionen, darunter einige einfache Tools, mit denen Sie reibungsloses Parallaxen-Scrolling erstellen können.

Scrollende Hintergründe können die visuelle Attraktivität und Tiefe eines Spiels erheblich verbessern. Sie können die Illusion von Bewegung erzeugen und dem Spiel ein dynamisches und immersives Gefühl verleihen. Mit Pygame können Sie scrollende Hintergründe in nur wenigen einfachen Schritten implementieren.

Pygame ist eine beliebte Python-Bibliothek, die Sie zum Entwickeln von Spielen verwenden können. Das Hinzufügen von scrollenden Hintergründen zu Ihren Pygame-Projekten erweckt sie zum Leben und bietet den Spielern ein ansprechenderes Erlebnis.

Erstellen Sie ein einfaches Spiel

Um das Konzept des Scrollens von Hintergründen in Pygame zu verstehen, erstellen Sie zunächst ein einfaches Spiel, bei dem sich der Spieler nach links und rechts bewegen kann. Sie können auch zwei Plattformen, dargestellt durch Rechtecke, einbeziehen, die als Spielumgebung dienen. Erstellen Sie eine neue Datei mit dem Namen simple-game.py.

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.

Importieren Sie zunächst das Pygame-Modul und initialisieren Sie es. Definieren Sie dann die Startposition und Bewegungsgeschwindigkeit des Spielers. Erstellen Sie Plattformen mit Pygame. Rect Objekte und definieren ihre Positionen und Abmessungen.

Behandeln Sie innerhalb der Spielschleife Ereignisse wie das Beenden des Spiels. Sie können auch damit umgehen Spielerbewegungen basierend auf Berührungs- oder Tastatureingaben.

Hier ist die Ausgabe des einfachen Spiels:

Erstellen Sie verschiedene Ebenen

Um den Scrolleffekt zu erzielen, können Sie mehrere Hintergrundebenen mit unterschiedlichen Farben erstellen. Jede Ebene bewegt sich mit einer anderen Geschwindigkeit, wodurch ein Parallaxeneffekt entsteht. Dieser Effekt erzeugt die Illusion von Tiefe und verstärkt das Bewegungsgefühl im Spiel.

Definieren Sie mit Pygame zwei Hintergrundebenen, die jeweils das gesamte Spielfenster abdecken. Rect-Objekte. Definieren Sie außerdem die Farben jeder Ebene im Hintergrundfarben Liste. Der Hintergrundgeschwindigkeiten Die Liste bestimmt die Geschwindigkeit, mit der sich jede Ebene bewegt.

# Fügen Sie diesen Code unter dem vorherigen Abschnitt hinzu

background_layers = [
Pygame. Rect(0, 0, screen_width, screen_height),
Pygame. Rect(0, 0, screen_width, screen_height)
]

Hintergrundfarben = [(30, 30, 30), (60, 60, 60)]
Hintergrundgeschwindigkeiten = [0.1, 1.0]

Um den scrollenden Hintergrundeffekt zu erzeugen, müssen Sie die Positionen der Hintergrundebenen in der Spielschleife aktualisieren. Sie verschieben jede Ebene horizontal basierend auf der zugewiesenen Geschwindigkeit.

Erstellen Sie eine neue Datei mit dem Namen scrolling-bg.py und fügen Sie den Code mit den folgenden Updates hinzu:

für ich In range (len (background_layers)):
Hintergrundschichten[i].x -= Hintergrundgeschwindigkeiten[i]

Wenn background_layers[i].x <= -screen_width:
background_layers[i].x = 0

pygame.draw.rect (Bildschirm, Hintergrundfarben[i], Hintergrundschichten[i])

Durchlaufen Sie jede Hintergrundebene. Subtrahieren Sie die entsprechende Geschwindigkeit von der X-Koordinate der Ebene, wodurch sie sich nach links bewegt. Wenn eine Ebene den linken Rand des Bildschirms erreicht, setzen Sie ihre Position nach rechts zurück, wodurch ein kontinuierlicher Scrolleffekt entsteht.

Endlich, Zeichnen Sie jede rechteckige Hintergrundebene auf dem Bildschirm mit pygame.draw.rect() und Übergeben der entsprechenden Farbe und des entsprechenden Pygames. Rect-Objekt.

Hinzufügen eines Parallaxeneffekts beim Bewegen

Um den Parallaxeneffekt zu verstärken, können Sie die Plattformbewegung so ändern, dass sie erfolgt, wenn sich der Spieler bewegt. Dadurch entsteht ein starkes Gefühl von Tiefe und dynamischer Bewegung. Erstellen Sie eine neue Datei mit dem Namen parallax.py und fügen Sie den Code mit den folgenden Updates hinzu:

# Definieren Sie die Plattformpositionen und -geschwindigkeiten
rect1 = Pygame. Rect(50, screen_height - 100, 200, 10)
rect2 = Pygame. Rect (screen_width - 250, screen_height - 200, 200, 10)

Plattformen = [
{„richtig“: rect1, "Geschwindigkeit": 3},
{„richtig“: rect2, "Geschwindigkeit": 1}
]

# Fügen Sie diesen Code in die Spielschleife ein

# Spielerbewegung
Schlüssel = pygame.key.get_pressed()

Wenn Schlüssel[pygame. K_LEFT] Und Spieler_x > 0:
Spieler_x -= Spielergeschwindigkeit

für Plattform In Plattformen:
Plattform[„richtig“.x -= Plattform["Geschwindigkeit"]

Wenn Schlüssel[pygame. K_RIGHT] Und player_x < screen_width:
Spieler_x += Spielergeschwindigkeit

für Plattform In Plattformen:
Plattform[„richtig“.x += Plattform["Geschwindigkeit"]

für Plattform In Plattformen:
pygame.draw.rect (Bildschirm, (0, 255, 0), Plattform[„richtig“])

Stellen Sie die Plattformen als Wörterbücher dar, die sowohl das rechteckige Objekt (rect) als auch die Geschwindigkeit enthalten, mit der sich die Plattform bewegen soll (speed). Die Plattformen werden in der Spielschleife basierend auf der Bewegung des Spielers aktualisiert.

Durch die Implementierung dieser Änderung ist der Scrolleffekt nur dann aktiv, wenn sich der Spieler aktiv bewegt, wodurch die Illusion von Tiefe und Bewegung noch verstärkt wird.

Inklusive zusätzlicher Funktionen

Sie können mehrere zusätzliche Funktionen implementieren, um die Scroll-Hintergründe in Ihrem Spiel zu verbessern. Hier sind einige Beispiele.

Hintergrundfarben zufällig auswählen

Um den Hintergrundebenen Abwechslung zu verleihen, können Sie deren Farben zufällig auswählen. Sie können dies tun, indem Sie die ändern Hintergrundfarben Liste:

importieren willkürlich

# Fügen Sie diesen Code vor der Spielschleife hinzu

Hintergrundfarben = [
(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)),
(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)),
(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
]

Fügen Sie weitere Hintergrundebenen hinzu

Sie können mit dem Hinzufügen weiterer Hintergrundebenen experimentieren, um einen stärkeren Parallaxeneffekt zu erzielen. Definieren Sie einfach zusätzlich Pygame. Rect Objekte, Farben und Geschwindigkeiten:

# Fügen Sie diesen Code vor der Spielschleife hinzu

background_layers = [
Pygame. Rect(0, 0, screen_width, screen_height),
Pygame. Rect(0, 0, screen_width, screen_height),
Pygame. Rect(0, 0, screen_width, screen_height),
Pygame. Rect(0, 0, screen_width, screen_height)
]

Hintergrundfarben = [
(30, 30, 30),
(60, 60, 60),
(90, 90, 90),
(120, 120, 120)
]

Hintergrundgeschwindigkeiten = [1, 2, 3, 4]

Verwenden Sie Bilder als Hintergründe

Anstelle von Volltonfarben können Sie auch Bilddateien als Hintergrund verwenden. Pygame bietet Funktionen zum Laden und Rendern von Bildern.

Laden Sie die Bilddateien Hintergrund_0.png, Hintergrund_1.png, Und Hintergrund_2.png verwenden pygame.image.load(). Verwenden Sie die Methode „convert()“, um die Leistung zu verbessern und die Bilder so zu skalieren, dass sie den Bildschirmabmessungen entsprechen pygame.transform.scale().

# Fügen Sie diesen Code vor der Spielschleife hinzu

background_images = [
pygame.image.load(„Hintergrund_0.png“).Konvertieren(),
pygame.image.load(„Hintergrund_1.png“).Konvertieren(),
pygame.image.load(„Hintergrund_2.png“).Konvertieren()
]

Hintergrundgeschwindigkeiten = [1, 2, 3]

für ich In Bereich (len (Hintergrundbilder)):
Größe = (Bildschirmbreite, Bildschirmhöhe)
background_images[i] = pygame.transform.scale (background_images[i], Größe)

Aktualisieren Sie abschließend die Schleife, in der Sie die Hintergrundebenen zeichnen, um die Bilder zu verwenden:

# Aktualisieren Sie diesen Code innerhalb der Spielschleife

für ich In range (len (background_layers)):
Hintergrundschichten[i].x -= Hintergrundgeschwindigkeiten[i]

Wenn background_layers[i].x <= -screen_width:
background_layers[i].x = 0

screen.blit (background_images[i], background_layers[i])

Hier sind einige Best Practices, die Sie bei der Implementierung von Scroll-Hintergründen in Ihren Pygame-Projekten berücksichtigen sollten.

Optimieren Sie die Leistung

Scrollende Hintergründe erfordern ein kontinuierliches Rendern und Aktualisieren. Um ein reibungsloses Gameplay zu gewährleisten, sollten Sie erwägen, Ihren Code zu optimieren und unnötige Berechnungen zu minimieren.

Experimentieren Sie mit Ebenengeschwindigkeiten

Durch Anpassen der Geschwindigkeit der Hintergrundebenen können unterschiedliche Effekte erzielt werden. Spielen Sie mit verschiedenen Werten, um die richtige Balance zu finden und die gewünschte visuelle Wirkung zu erzielen.

Testen Sie auf verschiedenen Bildschirmgrößen

Stellen Sie sicher, dass Ihre Scroll-Hintergründe auf verschiedenen Bildschirmauflösungen gut funktionieren. Erwägen Sie die Implementierung einer dynamischen Skalierung oder die Verwendung unterschiedlicher Hintergrundbilder für unterschiedliche Seitenverhältnisse.

Verwenden Sie geeignete Bildformate

Wenn Sie sich für die Verwendung von Bildern als Hintergrund entscheiden, wählen Sie das entsprechende Bildformat (z. B. PNG, JPEG), um Dateigröße und Bildqualität in Einklang zu bringen. Sie können die Ladezeiten auch verkürzen, indem Sie Ihre Bilder komprimieren und optimieren.

Berücksichtigen Sie die Speichernutzung

Wenn Sie planen, viele hochauflösende Bilder für Ihre Hintergründe zu verwenden, beachten Sie den Speicherbedarf. Große Bilder können viel Speicher beanspruchen und möglicherweise die Leistung und Reaktionsfähigkeit Ihres Spiels beeinträchtigen.

Durch die Einbindung von scrollenden Hintergründen können Sie unterschiedliche Umgebungen erstellen, beispielsweise bewegte Landschaften, futuristische Stadtlandschaften oder Unterwasserwelten. Der Parallaxeneffekt sorgt für eine dynamische Note und lässt die Spielwelt lebendig und interaktiv wirken.

Denken Sie daran, mit scrollenden Hintergründen zu experimentieren, zu iterieren und kreative Möglichkeiten zu erkunden, um Ihre Spiele unterhaltsamer und fesselnder für die Spieler zu gestalten.