i

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.

Suche

v
2.8.4.3
www.inf-schule.de/programmierung/spiele-python/ereignisse/bewegung

Rückmeldung geben