From 6c834216023a60ee94f0bf475df84d041c4443cd Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 28 Oct 2023 17:30:12 -0400 Subject: Animations! --- game.scm | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'game.scm') diff --git a/game.scm b/game.scm index 441298c..b0daad0 100644 --- a/game.scm +++ b/game.scm @@ -931,7 +931,7 @@ (spawn-enemy (make-enemy 'turret 10 (vec2 x y) (vec2 12.0 12.0) (vec2 0.0 0.0) script 100 - #(0.0 0.0 0.0 0.0) image:turret (vec2 32.0 32.0)))) + #(0.0 16.0 32.0 48.0) image:turret (vec2 16.0 16.0)))) (define (spawn-popcorn* x y script) (spawn-enemy @@ -1011,6 +1011,7 @@ ;; Player state: (define player-position (vec2 (/ game-width 2.0) (- game-height 12.0))) (define player-velocity (vec2 0.0 0.0)) + (define *player-tile-x* 0.0) (define player-speed 2.9) (define player-focus-speed 1.5) (define player-bullet-speed 12.3) @@ -1042,7 +1043,13 @@ (vec2-mul-scalar! player-velocity (if (focusing?) player-focus-speed - player-speed))))) + player-speed)) + (set! *player-tile-x* + (* (cond + ((and left? (not right?)) 1.0) + ((and right? (not left?)) 3.0) + (else 0.0)) + player-width))))) (define (set-left! pressed?) (vector-set! key-state 0 pressed?) (update-player-velocity!)) @@ -1154,14 +1161,15 @@ 0.0 (- player-bullet-speed))))) (set! *player-fire-counter* 0)))) (define (draw-player) - (draw-image context image:player - (if *player-visible?* 0.0 player-width) 0.0 - player-width player-height - (- (vec2-x player-position) - (/ player-width 2.0)) - (- (vec2-y player-position) - (/ player-height 2.0)) - player-width player-height) + (when *player-visible?* + (draw-image context image:player + *player-tile-x* 0.0 + player-width player-height + (- (vec2-x player-position) + (/ player-width 2.0)) + (- (vec2-y player-position) + (/ player-height 2.0)) + player-width player-height)) (when *debug?* (set-fill-color! context "#ff00ff80") (fill-rect context @@ -1233,7 +1241,7 @@ (set-scale! context *canvas-scale* *canvas-scale*) (set-fill-color! context "#140c1c") (fill-rect context 0.0 0.0 game-width game-height) - (draw-background image:starfield-bg 0.2) + (draw-background image:starfield-bg 0.3) (draw-background image:starfield-fg 0.5) (draw-level-foreground level) (draw-particles particles) @@ -1275,6 +1283,7 @@ (enemy-pool-reset! enemies) (particle-pool-reset! particles) (player-position-reset!) + (set! *player-tile-x* 0.0) (set! *player-lives* %default-lives) (set! *player-invincible?* #f) (set! *player-visible?* #t) -- cgit v1.2.3