aboutsummaryrefslogtreecommitdiff
path: root/src/macroknight
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2025-05-16 21:50:13 +0100
committerGene Pasquet <dev@etenil.net>2025-05-16 21:50:13 +0100
commit4346ec2fa0623132afa7706cfb103e20c7e68494 (patch)
treede44331f43fd4091f3276e5dd1e9fb9b188458a6 /src/macroknight
parent5af7de084933444951dfb140c084ea07cf3346a8 (diff)
Basic animations
Diffstat (limited to 'src/macroknight')
-rw-r--r--src/macroknight/entities.hy17
-rw-r--r--src/macroknight/game.hy3
2 files changed, 18 insertions, 2 deletions
diff --git a/src/macroknight/entities.hy b/src/macroknight/entities.hy
index 666b06b..812193e 100644
--- a/src/macroknight/entities.hy
+++ b/src/macroknight/entities.hy
@@ -54,7 +54,9 @@
(defn __init__ [self id tile tile-size x y]
(.__init__ (super) id tile tile-size x y)
(setv self.jumping False)
- (setv self.jump-move 0))
+ (setv self.jump-move 0)
+ (setv self.moves [])
+ (setv self._disp_surf (.copy self._surf)))
(defn move [self move]
(.append self.moves move)
@@ -72,5 +74,16 @@
(defn ground [self]
(setv self.jump-move 0))
+ (defn animate [self]
+ (let [x-move (get self.total-move 0)]
+ (setv self._disp_surf
+ (cond
+ (< x-move 0) (pygame.transform.flip self._surf True False)
+ (> x-move 0) (.copy self._surf)
+ True self._disp_surf))))
+
(defn flush [self]
- (setv self.moves [])))
+ (setv self.moves []))
+
+ (defn [property] surf [self]
+ self._disp_surf))
diff --git a/src/macroknight/game.hy b/src/macroknight/game.hy
index 1676e5a..005f356 100644
--- a/src/macroknight/game.hy
+++ b/src/macroknight/game.hy
@@ -139,11 +139,14 @@
pygame.K_w (.jump player)
pygame.K_d (.move player #(player.SPEED 0))))
+
+
(try
(when (any ongoing_inputs)
(for [entity entities]
(apply-collisions entity entities)))
+ (.animate player)
(.flush player)
;; Apply systems