Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
talit:python_pygame [2024-08-08 11:47] – [2. Template] sca | talit:python_pygame [2024-08-08 12:37] (aktuell) – [2.1 Tutorial] sca | ||
---|---|---|---|
Zeile 251: | Zeile 251: | ||
Ziel von diesem Tutorial ist, dich in PyGame anhand des Templates von oben einzuarbeiten. | Ziel von diesem Tutorial ist, dich in PyGame anhand des Templates von oben einzuarbeiten. | ||
- | 1. Installiere PyGame (mit pip) | + | |
- | 1. Lade das Template herunter und stelle sicher, dass du es ausführen kannst. Du solltest ein Flugzeug und ein paar farbige Bälle sehen. | + | 1. Lade das **Template-Spiel** |
+ | 1. Verschaffe dir einen **Überblick** über das Projekt. Es geht nicht darum, jede einzelne Code-Zeile zu verstehen, sondern darum, das Big Picture zu verstehen: | ||
+ | 1. Welches File muss man ausführen, wenn man das Spiel starten möchte? Was passiert darin? | ||
+ | 1. Das Herzstück ist die `play`-Methode in der Game-Klasse. Darin befindet sich der **Game-Loop** - eine Endlosschleife (`while True`). In dieser steht der Code, der während dem Spiel in der Dauerschleife ausgeführt wird. Verschaffe dir darin eine Übersicht. | ||
+ | 1. Es gibt noch weitere Files wie `setting.py` oder `ball.py`. Wozu sind diese da? | ||
+ | 1. In `player.py` und `ball.py` gibt es zwei Methoden: Update und Collide. Wozu? | ||
+ | 1. **Erweitere** das Spiel nun wie folgt: | ||
+ | 1. Füge noch **zwei rote Bälle** hinzu. Dazu muss zuerst ein Bild von einem roten Ball erstellt werden und in den `data`-Ordner abgelegt werden. Beachte, dass das gleiche Bild dann für beide roten Bälle im Spiel verwendet wird. | ||
+ | 1. Ändere das **Bild des Players** (aktuell Flugzeug). Finde ein lustiges Bild im Internet. Wichtig: Das Bild soll einen transparenten Hintergrund haben. Z.B. kann man man mit Photoshop den Hintergrund transparent machen. | ||
+ | 1. Füge dem Game ein **Hintergrundbild** hinzu. | ||
+ | 1. Den Player soll man nun auch noch nach **links und rechts** bewegen. Implementiere dies in der `play`-Methode, | ||
+ | 1. Der Player soll aber nicht aus dem Bild verschwinden können. Erreicht er z.B. den linken Rand, soll er sich nicht weiter nach links bewegen. Implementiere dies in der `update`-Methode des Players. Diese wird bei jedem Durchgangs Game-Loops ausgeführt. | ||
+ | 1. Implementiere eine **Collision**: | ||