Moving Kitty
Im zweiten Teil meiner kleinen Erkundung von Processing.py, dem Python-Mode von Processing, möchte ich die im ersten Teil auf den Monitor gezauberte Kitty mithilfe der Pfeiltasten der Tastatur sich über den Monitor bewegen lassen.
In Processing gehören die Pfeiltasten wie einige andere auch zu den coded keys
, weil sie sich nicht einem Buchstaben zuordnen lassen und haben daher einen speziellen Namen. Die Pfeiltastten heißen LEFT
, RIGHT
, UP
und DOWN
, andere coded keys
sind zum Beispiel ALT
, CONTROL
oder SHIFT
. Diese müssen in Processing wie in Processing.py gesondert abgefragt werden, und zwar so:
if keyPressed and key == CODED:
if keyCode == LEFT:
während die »normalen« Tasten so abgefragt werden können:
if keyPressed:
if key == 'b' or key == 'B':
Das ist eigentlich alles, was man wissen muß, um das Progrämmchen zu verstehen. Wenn Kitty den linken Rand des Fensters erreicht hat, taucht sie am rechten Rand wieder auf und umgekehrt. Genauso habe ich mit oben unten verfahren. Die Variabeln radius_x
und radius_y
sorgen dafür, daß Kitty vollständig vom Bildschirm verschwunden ist, bevor sie am anderen Ende wieder auftaucht (ich mag keine halben Kittys 😜 ) und mit STEP
bestimmt Ihr die Geschwindigkeit, mit der Kitty über den Bildschirm wuselt. Hier der vollständige Quellcode zum nachprogrammieren:
pos_x = 275
pos_y = 100
radius_x = 50 # Bildbreite/2
radius_y = 85 # Bildhöhe/2
STEP = 5 # Geschwindigkeit
def setup():
global horngirl
size(640, 480)
horngirl = loadImage("horngirl.png")
def draw():
global pos_x, pos_y
background(0, 80, 125)
image(horngirl, pos_x, pos_y)
if keyPressed and key == CODED:
if keyCode == LEFT:
pos_x -= STEP
elif keyCode == RIGHT:
pos_x += STEP
elif keyCode == UP:
pos_y -= STEP
elif keyCode == DOWN:
pos_y += STEP
if pos_x > width + radius_x:
pos_x = -radius_x
elif pos_x < -2*radius_x:
pos_x = width + radius_x
if pos_y < -2*radius_y:
pos_y = height
elif pos_y > height:
pos_y = -radius_y
Kitty alias »Horn Girl« stammt wieder aus dem von Daniel Cook (Danc) in seinem Blog Lost Garden unter einer freien Lizenz (CC BY 3.0 US) zu Verfügung gestellten Tileset Planet Cute. Aber Ihr könnt natürlich auch jedes andere Bild nehmen, das gerade auf Eurer Festplatte herumliegt.