diff options
Diffstat (limited to 'examples/tiled.scm')
-rw-r--r-- | examples/tiled.scm | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/tiled.scm b/examples/tiled.scm new file mode 100644 index 0000000..9e42301 --- /dev/null +++ b/examples/tiled.scm @@ -0,0 +1,31 @@ +(use-modules (chickadee) + (chickadee math vector) + (chickadee math rect) + (chickadee render tiled) + (ice-9 match)) + +(define map #f) +(define camera (vec2 0.0 0.0)) + +(define (load) + (set! map (load-tile-map "maps/example.tmx"))) + +(define (draw alpha) + (draw-tile-map map #:position camera)) + +(define inc 8.0) +(define (key-press key scancode modifiers repeat?) + (match key + ('up (set-vec2-y! camera (- (vec2-y camera) inc))) + ('down (set-vec2-y! camera (+ (vec2-y camera) inc))) + ('right (set-vec2-x! camera (- (vec2-x camera) inc))) + ('left (set-vec2-x! camera (+ (vec2-x camera) inc))) + ('q (abort-game)) + (_ #t))) + +(add-hook! load-hook load) +(add-hook! draw-hook draw) +(add-hook! key-press-hook key-press) +(add-hook! quit-hook abort-game) + +(run-game #:window-width 320 #:window-height 240 #:window-title "tile map demo") |