bloatrunner/game/render/hero.scm

34 lines
919 B
Scheme
Raw Normal View History

(define-module (game render hero)
#:use-module (game model hero)
#:use-module (chickadee)
#:use-module (chickadee math vector)
#:use-module (chickadee graphics sprite)
#:use-module (chickadee graphics texture)
#:export (render-hero
render-hero-load)
)
(define hero-texture #f)
(define hero-atlas #f)
(define (render-hero-load)
(set! hero-texture (load-image "assets/images/lr_penguin2.png"))
(set! hero-atlas (split-texture hero-texture 32 32)))
;; start index of the walk animation
(define hero-walk-offset 56)
(define (hero-sprite hero)
(let* ((x (inexact->exact (floor (vec2-x (hero-position hero)))))
(animation-frame (remainder x 8))
(hero-index (+ hero-walk-offset animation-frame)))
(texture-atlas-ref hero-atlas hero-index)))
(define (render-hero hero)
(draw-sprite
(hero-sprite hero)
(vec2+
(hero-position hero)
2024-05-21 14:02:55 +02:00
(vec2 -9.0 0.0))))