PyGame ist eine leistungsstarke und beliebte Spieleentwicklungsbibliothek für Python. Es bietet eine Reihe von Tools und Funktionen, die das Erstellen von Spielen und anderen interaktiven Anwendungen erleichtern. Eine nützliche Funktion von PyGame ist die Fähigkeit, Objekte und Formen zu zeichnen.
Das pygame.draw-Modul
In PyGame ist das Zeichnen von Objekten und Formen ein einfacher Prozess. Du kannst den... benutzen pygame.draw Modul zum Zeichnen von Formen wie Rechtecken, Kreisen, Linien und mehr.
Bevor Sie beginnen, stellen Sie sicher, dass dies der Fall ist pip auf Ihrem Gerät installiert, verwenden Sie dann diesen Befehl, um die PyGame Modul:
pip installiere pygame
Grundformen zeichnen
Der pygame.draw Das Modul bietet mehrere Funktionen, mit denen Sie grundlegende Formen zeichnen können. Jede Funktion benötigt eine Reihe von Parametern, um die Form und ihre Position zu definieren.
-
rechteck (): Mit dieser Funktion können Sie ein Rechteck zeichnen. Dies ist eine der am häufigsten verwendeten Formen in Spielen. Sie können Plattformen, Wände und andere Objekte mit Rechtecken erstellen. Die Funktion benötigt vier Parameter: surface (die Oberfläche, auf der das Rechteck gezeichnet werden soll), color, rect (ein Rect-Objekt) und width (Linienstärke).
pygame.draw.rect (Oberfläche, Farbe, Rechteck, Breite)
-
Kreis(): Zeichne einen Kreis. Es benötigt vier Parameter: Oberfläche, Farbe, Pos (der Mittelpunkt des Kreises) und Radius.
pygame.draw.circle (Oberfläche, Farbe, Position, Radius)
-
Vieleck (): Zeichnen Sie ein Polygon. Es benötigt vier Parameter: Oberfläche, Farbe, Punkte (eine Liste von Punkten, die die Form des Polygons definieren) und Breite.
pygame.draw.polygon (Oberfläche, Farbe, Punkte, Breite)
-
Linie(): Zeichne eine Linie. Es braucht vier Parameter: Oberfläche, Farbe, Start_Pos und End_Pos.
pygame.draw.line (Oberfläche, Farbe, Startposition, Endposition)
Die vollständige Liste der Funktionen und ihrer Parameter finden Sie auf der offiziellen PyGame-Dokumentation für das Draw-Modul.
Komplexe Formen zeichnen
Neben einfachen Formen können Sie mit PyGame auch komplexe Formen wie Bögen, Ellipsen und Linien zeichnen.
-
Bogen(): Diese Funktion zeichnet einen Bogen auf einer Fläche. Ein Bogen ist ein Teil eines Kreises. Es benötigt sechs Parameter: surface, color, rect, start_angle, end_angle und width. Geben Sie die Winkel in Grad an, wobei 0 Grad nach rechts zeigt und im Uhrzeigersinn zunimmt. Der Breitenparameter gibt die Dicke des Bogens an.
pygame.draw.arc (Oberfläche, Farbe, Rechteck, Start_Winkel, End_Winkel, Breite)
-
Ellipse(): Zeichnen Sie eine Ellipse auf einer Fläche. Eine Ellipse ist ein gestreckter Kreis. Es benötigt vier Parameter: Oberfläche, Farbe, Rechteck und Breite.
pygame.draw.ellipse (Oberfläche, Farbe, Rechteck, Breite)
-
aline(): Wird verwendet, um eine einzelne Anti-Aliasing-Linie auf einer Oberfläche zu zeichnen. Anti-Aliasing ist eine Technik, mit der die Kanten einer Form geglättet werden, damit sie natürlicher aussieht. Es braucht vier Parameter, die das widerspiegeln Linie() Funktion: Oberfläche, Farbe, Start_Pos und End_Pos.
pygame.draw.aaline (Oberfläche, Farbe, Startposition, Endposition)
Erstellen von verschachtelten Formen in PyGame
Ein weiteres interessantes Feature von PyGame ist die Fähigkeit, Formen innerhalb einer anderen Form zu zeichnen. Sie können dies tun, indem Sie eine Kombination der grundlegenden Funktionen zum Zeichnen von Formen in PyGame verwenden.
Um eine Form innerhalb einer anderen Form zu zeichnen, können Sie zuerst die innere Form zeichnen und dann die äußere Form darüber zeichnen. Die innere Form kann eine beliebige Grundform sein, beispielsweise ein Rechteck oder ein Kreis.
Um beispielsweise ein Rechteck innerhalb eines Kreises zu zeichnen, können Sie die verwenden pygame.draw.circle() Funktion, um den Kreis zu zeichnen, und verwenden Sie dann die pygame.draw.rect() Funktion, um das Rechteck darüber zu zeichnen.
Die folgenden Codebeispiele finden Sie in dieses GitHub-Repository.
Hier ist ein Beispiel-Code-Snippet, das zeigt, wie man ein Rechteck in einen Kreis zeichnet:
importieren Pygame
# Pygame initialisieren
pygame.init()# Erstellen Sie ein Fenster
Fenster = pygame.display.set_mode((800, 600))# Erstellen Sie einen Kreis
circle_rect = pygame.draw.circle (Fenster, (255, 255, 255), (400, 300), 100)# Erstellen Sie eine Fläche für das Rechteck
Rechteck_Oberfläche = Pygame. Oberfläche((50, 50))
rechteck_oberfläche.set_colorkey((0, 0, 0))# Zeichnen Sie das Rechteck auf die Fläche
pygame.draw.rect (Rechteck_Oberfläche, (255, 0, 0), (0, 0, 50, 50))# Blitte die Oberfläche auf den Kreis
window.blit (Rechteck_Oberfläche, (375, 275))# Hauptschleife
währendWAHR:
# Beenden des Spiels
für Fall In pygame.event.get():
Wenn event.type == Pygame. AUFHÖREN:
pygame.quit()
Ausfahrt()
# Aktualisieren Sie die Anzeige
pygame.display.update()
Dadurch entsteht der Effekt eines Rechtecks in einem Kreis. Sie können diese Technik verwenden, um komplexere Formen und Spielelemente zu erstellen, indem Sie mehrere Formen kombinieren.
Bilder zeichnen
Mit PyGame können Sie auch Bilder zeichnen. Du kannst den... benutzen pygame.image.load() Funktion zum Laden eines Bildes aus einer Datei und der pygame.image.blit() Funktion zu Zeichnen Sie das Bild auf dem Bildschirm.
Die Syntax für pygame.image.load() sieht aus wie das:
pygame.image.load (Dateiname)
Und hier ist die Syntax für pygame.image.blit():
pygame.image.blit (Bild, rechteckig)
Neben dem Laden und Zeichnen von Bildern bietet PyGame auch mehrere andere bildbezogene Funktionen. Mit diesen Funktionen können Sie Bilder auf verschiedene Weise manipulieren, z. B. skalieren, drehen, spiegeln und zuschneiden.
Erweiterte Funktionen hinzufügen
PyGame bietet auch einige erweiterte Funktionen zum Zeichnen von Objekten und Formen. Sie können zum Beispiel die verwenden pygame.mouse.get_pos() Funktion zum Abrufen der Mausposition und der pygame.mouse.get_pressed() Funktion, um den Zustand der Maustaste abzurufen. Mit diesen Funktionen können Sie eine Click-to-Draw-Funktion erstellen, mit der Sie Formen per Mausklick zeichnen können.
importieren Pygame
# Pygame initialisieren
pygame.init()# Erstellen Sie ein Fenster
Fenster = pygame.display.set_mode((800, 600))# Hauptschleife
währendWAHR:
# Holen Sie sich die Mausposition
mouse_position = pygame.mouse.get_pos()# Erhalte den Zustand der Maustaste
mouse_pressed = pygame.mouse.get_pressed()# Beenden des Spiels
für Fall In pygame.event.get():
Wenn event.type == Pygame. AUFHÖREN:
pygame.quit()
Ausfahrt()# Einen Kreis zeichnen, wenn die Maus gedrückt wird
Wenn maus_gedrückt[0] == 1:
pygame.draw.circle (Fenster, (255, 0, 0), Mausposition, 20)
# Aktualisieren Sie die Anzeige
pygame.display.update()
Unten ist die Ausgabe:
Erstellen Sie ganz einfach Spiel-Sprites in PyGame
PyGame bietet auch eine Reihe leistungsstarker Tools zum einfachen Erstellen von Spiel-Sprites und -Objekten. Mit dem pygame.draw Modul können Sie ganz einfach Sprites erstellen, die Sie in Ihren Spielen verwenden können. Sie können ganz einfach Charaktere, Objekte und andere Spielelemente erstellen.