Obwohl Shoes, das kleine, plattformübergreifende Ruby-Toolkit für Graphik und Animationen sehr stark von Processing beeinflußt ist, geht es bei Animationen einen anderen Weg. Folgendes kleine Beispielprogramm verdeutlicht dies:
Denn während Processing bei Animationen immer das komplette Bild neu zeichnen läßt (und der Programmierer dafür verantwortlich ist), kennt Shoes den Befehl shape.move x, y
, der nur das entsprechende Objekt über den Bildschirm bewegt. Das Skript dafür sieht so aus:
# encoding: utf-8
xspeed, yspeed = 10.0, 7.0
xdir, ydir = 1, 1
size = 50
Shoes.app width: 500, height: 500, title: "Bouncing Ball", resizable: false do
background black
nostroke
fill white
@ball = oval 0, 0, size
x, y = self.width/2, self.height/2
animate(30) do
x += xspeed * xdir
y += yspeed * ydir
xdir *= -1 if x > self.width - size or x < 0
ydir *= -1 if y > self.height - size or y < 0
@ball.move x.to_i, y.to_i
end
end
Im animate
-Block wird daher nur die Variable @ball
bewegt, um den Rest kümmert sich Shoes ohne das Zutun des Programmierers.
Alles andere im animate
-Block, der in etwa dem draw()
in Processing entspricht, ist Kosmetik: Die neue Position des Balls wird berechnet und die Bewegungsrichtung wird umgekehrt, wenn der Ball die Grenzen des Fensters erreicht.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung