Nachdem ich hier bereits gezeigt hatte, wie man mit P5.js eine zappelnde Figur über ein Bildschirmfenster schickt, ohne daß diese das Fenster verlassen kann, wollte ich diese Fähigkeit auch meinem alten Versuch aus dem Januar mit Shoes, dem kleinen, plattformübergreifenden Ruby-Toolkit für 2D-Graphik gönnen. Ich habe dafür das alte Skript nur ein wenig umschreiben müssen:
Zum einen habe ich nach jedem Tastendruck eine Abfrage nach den Rändern eingebaut und nur, wenn diese erfüllt ist, darf sich die Figur bewegen. Zum anderen störte es mich, daß die Spielfigur und die beiden Fackeln im gleichen Abstand zappelten. Also habe ich den modulo
-Trick noch ein wenig aufgebohrt und nun zappen die Flammen in einem anderen Rythmus als das langsamere Männchen. Hier der vollständige Code zum Nachprogrammieren:
# encoding: utf-8
FPS = 6
x = 144
y = 48
Shoes.app width: 320, height: 240, title: "Rogue" do
background "images/underworld.png"
rogue = image "images/rogue0.png", left: x, top: y
lighta = image "images/light0.png", left: 96, top: 0
lightb = image "images/light0.png", left: 208, top: 0
animate(FPS) do |frame|
if frame % 2 == 0
lighta.path = "images/light0.png"
lightb.path = "images/light0.png"
else
lighta.path = "images/light1.png"
lightb.path = "images/light1.png"
end
if frame % 6 < 3
rogue.path = "images/rogue0.png"
else
rogue.path = "images/rogue1.png"
end
keypress do |k|
if k == :left
if x > 0
x = x - 16
end
elsif k == :right
if x < 320-16
x = x + 16
end
elsif k == :up
if y > 0
y = y - 16
end
elsif k == :down
if y < 240-16
y = y + 16
end
end
end
rogue.move x, y
end
end
Der nächte Schritt wäre jetzt natürlich, den Helden daran zu hindern, durch Mauern und über Flammen zu gehen. Dazu mehr in den nächsten Tagen. Still digging!
Ü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