Bewegung der Spielfigur
In diesem Abschnitt lernst Du, wie man Attribute nicht nur auf bestimmte Werte setzen, sondern um bestimmte Werte erhöhen bzw. erniedrigen kann.Programm zum Ausprobieren
Starte das folgende Programm und drücke mehrfach hintereinander irgendeine Taste.
WIDTH = 800
HEIGHT = 600
TITLE = "Reaktion auf den Benutzer"
raumschiff = Actor("raumschiff_gruen.png")
raumschiff.x=400
raumschiff.y=300
def draw():
screen.blit("sterne",(0,0))
raumschiff.draw()
def on_key_down():
raumschiff.x += 20
raumschiff.angle -= 45
Erklärung
Die beiden Zeichenkombinationen +=
und -=
sorgen dafür, dass sich das entsprechende Attribut um den hinten
angegeben Wert erhöht bzw. erniedrigt.
raumschiff.x += 20
erhöht den Wert von raumschiff.x
um 20.
Mit genau der gleichen Wirkung könnte man übrigens auch schreiben
raumschiff.x = raumschiff.x + 20
Welche Schreibweise man verwendet, ist vor allem eine Frage des persönlichen Geschmacks.
Aufgabe 1: Bewegung nach unten
Schreibe ein Programm so, dass das Raumschiff am Anfang in der linken oberen Ecke des Fensters sitzt. Die Spitze des Raumschiffs soll nach unten schauen. Bei jedem Tastendruck soll sich das Raumschiff um 10 Pixel nach unten bewegen.
Aufgabe 2: Schräge Bewegungen
Schreibe ein Programm so, dass das Raumschiff am Anfang in der linken oberen Ecke des Fensters sitzt. Die Spitze des Raumschiffs soll in Richtung der rechten unteren Ecke schauen (da musst Du ein bisschen mit den Winkeln herumprobieren). Bei jedem Tastendruck soll sich das Raumschiff dann um 8 Pixel nach rechts und um 6 Pixel nach unten bewegen.
Aufgabe 3: Raumschiffe auf Kollisionskurs
Schreibe ein Programm mit zwei Raumschiffen. Am Anfang soll die eine in der linken oberen Ecke sitzen und nach rechts schauen, die andere soll in der rechten oberen Ecke sitzen und nach links schauen. Bei jedem Tastendruck soll sich das erste Raumschiff 10 Pixel nach rechts und das zweite Raumschiff um 7 Pixel nach links bewegen.