Reaktion auf den Spieler
Programm zum Ausprobieren
Gib das folgende Programm ein und teste es, indem Du es startest dann irgendeine Taste der Tastatur drückst.
WIDTH = 800
HEIGHT = 600
TITLE = "Reaktion auf den Benutzer"
raumschiff = Actor("raumschiff_gruen.png")
raumschiff.x=100
raumschiff.y=200
def draw():
screen.blit("sterne",(0,0))
raumschiff.draw()
def on_key_down():
raumschiff.x = 700
raumschiff.y = 200
raumschiff.angle=90
def on_mouse_down(pos):
raumschiff.x = pos[0]
raumschiff.y = pos[1]
Erklärung
Neben der uns schon bekannten Funktion draw()
def draw():
screen.blit("sterne.png",(0,0))
raumschiff.draw()
die festlegt, was beim Zeichnen passieren soll, gibt es nun noch eine
weitere Funktion, on_key_down()
def on_key_down():
raumschiff.x = 700
raumschiff.y = 200
raumschiff.angle = 90
Diese Funktion legt – wie der Name on_key_down schon
sagt – fest, was passieren soll, wenn man eine Taste drückt: In diesem
Fall ändern sich die sich gerade die Koordinaten und die Ausrichtung (der
Winkel) des Raumschiffs.
def on_mouse_down(pos):
raumschiff.x = pos[0]
raumschiff.y = pos[1]
Hier wird nicht nur geprüft, ob die Maus gedrückt wurde, sondern auch,
an welcher Position der Mauszeiger beim drücken stand.
Die Mausposition steht als Argument in Klammern: pos. Eine
Position auf dem Bildschirm muss natürlich mit einer x- und einer
y-Koordinate beschrieben werden, also mit zwei Zahlen.
Die x-Koordinate der Mausposition wird dabei als pos[0],
die y-Koordinate als pos[1] bezeichnet.
Aufgabe 1: Bei Tastendruck – Ecke
Schreibe ein Programm, bei dem das Raumschiff bei einem Tastendruck in die linke untere Ecke springt und sich in etwa Richtung der Mitte des Bildschirms ausrichtet.