Pygame Zero bietet die Möglichkeit, Bilder als Spielfiguren (Actor
) zu verwenden:
Actor hinzufügen
Wir wollen einen sogenannten Actor einbauen. Wie der Name es sagt – ein Schauspieler. Beim Actor handelt es sich sozusagen um eine Spielfigur, die wir dann verschieben und verwenden können. Der Actor wird mit Hilfe einer PNG-Bilddatei dargestellt.
Aufgabe: Bilder
Zuerst müssen wir aber die Bilder an der richtigen Stelle abspeichern:
- gehe in den Ordner wo dein Python-Skript liegt
- erstelle einen Unterordner images
- speichere die folgenden Alien-Bilder dort drin ab
Wir hängen vor das pgzrun.go()
den folgenden Code an:
...
zorg = Actor('alien_pink')
zorg.pos = (100, 100)
Damit haben wir einen sogenannten Actor
definiert:
- Zeile 2
- Erstellt einen
Actor
aus dem Bild alien_pink.png (muss im Unterordner images liegen) und weist dem neuenActor
den Namenzorg
zu, damit wir ihn später wieder ansprechen können. - Zeile 3
- Da
zorg
einActor
ist, hat er auch eine Position. Wir setzen seine Koordinaten auf die Mitte des Fensters.
Spiel zeichnen
Wenn wir das Programm starten, ändert sich aber nichts – das Fenster bleibt immer noch schwarz. Dies ist deshalb so, weil Pygame Zero zum Zeichnen des Fensterinhaltes ein spezielles Unterprogramm aufruft, nämlich draw()
. Dieses Unterprogramm muss sämtlichen Fensterinhalt zeichnen und von uns definiert werden. Wir fügen das folgende Unterprogramm vor der letzte Zeile in unseren Code ein:
def draw():
zorg.draw()
- Zeile 1
- Mit
def
geben wir an, dass wir ein Unterprogramm definieren wollen. draw
soll der Name des Unterprogramms sein. Sonst kann Pygame Zero das Unterprogramm gar nicht aufrufen- mit der Klammer
()
wird gesagt dass der Namedraw
für ein Unterprogramm steht und mit dem Doppelpunkt:
wird der Inhalt des Unterprogramms eingeleitet - Zeile 2
- zeichnet unseren
Actor
- (ist eingerückt und gehört deshalb zum Inhalt des Unterprogramms)
Aufgabe: Actor
Baue den Actor in dein Programm ein und teste das Programm. Das Programm sollte wie folgt aussehen:
Lösung: Actor
import pgzrun
TITLE = "Erstes Programm"
WIDTH = 200
HEIGHT = 200
zorg = Actor('alien_pink')
zorg.pos = (100, 100)
def draw():
zorg.draw()
pgzrun.go()
Aufgabe: Änderungen
Versuche die folgenden Änderungen am Programm vorzunehmen:
- Vergrössere das Pygame Zero-Fenster, so dass es einigermassen den Bildschirm füllt.
- Füge ein weiteres «Alien» hinzu. Gib ihm aber einen anderen Namen und natürlich andere Koordinaten!
Zusatzaufgabe: Hintergrund
Nimm das folgende Bild und füge es als weiteren Actor im Hintergrund hinzu.
Falls das Bild nicht den gesamten Hintergrund bedeckt, kannst du es verdoppeln oder das Fenster oben und unten in den korrekten Farben füllen:
👉 Zeichnen
Alternativ vergrösserst du das Bild in einem Grafik-Programm.
Zusatzaufgabe: dritter Actor
Füge einen dritten Actor hinzu. Suche dazu ein passendes Bild, z.B. von https://www.kenney.nl/assets?q=2d.
Das Bild muss im PNG-Format vorhanden sein und in den images-Unterordner relativ zum Python-Skript abgespeichert werden.