(import scheme (chicken base) (prefix sdl2 "sdl2:") (prefix sdl2-ttf "ttf:") (prefix sdl2-image "img:") downstroke-engine downstroke-world downstroke-tilemap downstroke-renderer downstroke-assets downstroke-scene-loader) (define *sprite-font* #f) (define *game* (make-game title: "Demo: Sprite Font" width: 600 height: 400 create: (lambda (game) (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* ((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)) (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*)