diff options
Diffstat (limited to 'examples/font.scm')
-rw-r--r-- | examples/font.scm | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/examples/font.scm b/examples/font.scm index 4d481d3..64d32e0 100644 --- a/examples/font.scm +++ b/examples/font.scm @@ -20,39 +20,44 @@ (sly signal) (sly window) (sly math vector) + (sly render) (sly render camera) (sly render color) (sly render font) - (sly render model) - (sly render scene) + (sly render sprite) + (sly render texture) (sly input mouse)) (load "common.scm") (define font (load-default-font 18)) -(define-signal message-label - (model-move (vector2 320 240) - (label font "The quick brown fox jumped over the lazy dog." - #:anchor 'center))) +(define camera (2d-camera #:area (make-rect 0 0 640 480))) -(define-signal fps-label +(define-signal render-message + (move (vector2 320 240) + (render-sprite + (make-label font "The quick brown fox jumped over the lazy dog." + #:anchor 'center)))) + +(define-signal render-fps (signal-let ((fps fps)) (let ((text (format #f "FPS: ~d" fps))) - (model-move (vector2 0 480) (label font text))))) + (move (vector2 0 480) + (render-sprite (make-label font text)))))) -(define-signal mouse-label - (signal-let ((pos (signal-throttle 5 mouse-position))) +(define-signal render-mouse + (signal-let ((pos (signal-throttle 10 mouse-position))) (let ((text (format #f "Mouse: (~d, ~d)" (vx pos) (vy pos)))) - (model-move (vector2 0 460) (label font text))))) - -(define-signal model - (signal-map model-group message-label fps-label mouse-label)) - -(define camera (orthographic-camera 640 480)) + (move (vector2 0 460) + (render-sprite (make-label font text)))))) (define-signal scene - (signal-map (lambda (model) (make-scene camera model)) model)) + (signal-let ((message render-message) + (fps render-fps) + (mouse render-mouse)) + (with-camera camera + (render-begin message fps mouse)))) (with-window (make-window #:title "Fonts") (run-game-loop scene)) |