Ich habe an meinem kleinen Mazegame, das ja als Blaupause für zukünftige Experimente zur »Künstlichen Intelligenz« gedacht ist, eine kleine Änderung vorgenommen. Ich habe nämlich in der Dokumentation zu Pygame Zero gelesen (sollte man gelegentlich ruhig einmal tun, die Dokumentation lesen, da wird man in der Regel nicht dümmer von), daß Pygame Zero eine eingebaute Animations-Klasse besitzt. Die macht zwar nicht mehr, als den Actor()
kontinuierlich – also ohne Sprünge – von a nach b zu verschieben, aber immerhin.
Natürlich mußte ich das gleich ausprobieren, also habe ich meine Methode set_screen_pos(self)
in der Klasse Rogue()
die Zeile
self.topleft = margin_x + self.xpos*sz, margin_y + self.ypos*sz
durch die Zeilen
x, y = margin_x + self.xpos*sz + 0.5*sz, margin_y + self.ypos*sz + 0.5*sz
animate(self, duration = .2, pos = (x, y))
ersetzt. Das Hinzufügen einer halben Tilegröße zu den x- und y-Werten ist der Tatsache geschuldet, daß animate()
für die Position die Mitte des Sprites verwendet, während ich die topleft
-Positionen berechnet hatte.
Da nun aber – insbesondere wenn man die duration
auf 1 oder ähnlich langsam setzt – auch zu Beginn des Spieles der Rogue langsam auf seine Startposition schlittert, sollte man in der Initialisierung der Klasse die Zeile
self.set_screen_pos()
durch die Zeile
self.topleft = margin_x + self.xpos*sz, margin_y + self.ypos*sz
ersetzen. Das setzt die Spielerfigur sofort auf die Startposition.
Ich muß sagen, mir gefällt die »Animation«, besonders da nun durch schnelles Betätigen der Pfeiltasten hintereinander tatsächlich der Eindruck kontinuierlicher Bewegung entsteht. Das ist sicher noch ausbaufähig. Still digging!
Die Sprites und Tiles habe ich dem DawnLike-Tileset auf OpenGameArt.org entnommen. Die Lizenz (CC BY 4.0) verlangt zwingend die Namensnennung der Schöpfer DawnBringer und DragonDePlatino. Dem bin ich hiermit pflichtbewußt nachgekommen. Und wie immer findet Ihr den Quellcode und die Assets auch in meinem GitHub-Repositorium.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, 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
Diese Spalte wurde absichtlich leergelassen!