aboutsummaryrefslogtreecommitdiff
path: root/demo/spritefont.scm
diff options
context:
space:
mode:
Diffstat (limited to 'demo/spritefont.scm')
-rw-r--r--demo/spritefont.scm43
1 files changed, 17 insertions, 26 deletions
diff --git a/demo/spritefont.scm b/demo/spritefont.scm
index 8895d3c..2abc07a 100644
--- a/demo/spritefont.scm
+++ b/demo/spritefont.scm
@@ -17,35 +17,26 @@
title: "Demo: Sprite Font" width: 600 height: 400
create: (lambda (game)
- (let* ((scene (game-load-scene! game "demo/assets/level-0.tmx"))
- (tileset (tilemap-tileset (scene-tilemap scene))))
- ;; Create sprite font with character ranges
- ;; A-M: tiles 917-929, N-Z: tiles 966-978, 0-9: tiles 868-877
- (set! *sprite-font*
- (make-sprite-font*
- #:tile-size 16
- #:spacing 1
- #:ranges '((#\A #\M 918)
- (#\N #\Z 967)
- (#\0 #\9 869))))))
+ (game-load-scene! game "demo/assets/level-0.tmx")
+ (set! *sprite-font*
+ (make-sprite-font*
+ #:tile-size 16 #:spacing 1
+ #:ranges '((#\A #\M 918) (#\N #\Z 967) (#\0 #\9 869)))))
render: (lambda (game)
- (let* ((renderer (game-renderer game))
- (scene (game-scene game))
- (tileset (tilemap-tileset (scene-tilemap scene)))
- (tileset-texture (scene-tileset-texture scene)))
- ;; Clear background
+ (let* ((scene (game-scene game))
+ (renderer (game-renderer game))
+ (tileset (tilemap-tileset (scene-tilemap scene)))
+ (texture (scene-tileset-texture scene)))
(set! (sdl2:render-draw-color renderer) (sdl2:make-color 30 30 60 255))
(sdl2:render-fill-rect! renderer (sdl2:make-rect 0 0 600 400))
-
- ;; Draw sprite text at various positions
- (draw-sprite-text renderer tileset-texture tileset *sprite-font*
- "HELLO WORLD" 50 50)
- (draw-sprite-text renderer tileset-texture tileset *sprite-font*
- "DOWNSTROKE" 100 120)
- (draw-sprite-text renderer tileset-texture tileset *sprite-font*
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 20 200)
- (draw-sprite-text renderer tileset-texture tileset *sprite-font*
- "0123456789" 150 280)))))
+ (for-each
+ (lambda (entry)
+ (draw-sprite-text renderer texture tileset *sprite-font*
+ (car entry) (cadr entry) (caddr entry)))
+ '(("HELLO WORLD" 50 50)
+ ("DOWNSTROKE" 100 120)
+ ("ABCDEFGHIJKLMNOPQRSTUVWXYZ" 20 200)
+ ("0123456789" 150 280)))))))
(game-run! *game*)