summaryrefslogtreecommitdiff
path: root/examples/simple.scm
diff options
context:
space:
mode:
Diffstat (limited to 'examples/simple.scm')
-rw-r--r--examples/simple.scm35
1 files changed, 29 insertions, 6 deletions
diff --git a/examples/simple.scm b/examples/simple.scm
index 820a3ce..7692331 100644
--- a/examples/simple.scm
+++ b/examples/simple.scm
@@ -18,24 +18,47 @@
(use-modules (sly game)
(sly window)
(sly utils)
+ (sly signal)
+ (sly math transform)
(sly math vector)
(sly render camera)
(sly render model)
(sly render sprite)
- (sly render color))
+ (sly render texture)
+ (sly render color)
+ (sly render framebuffer)
+ (sly render scene)
+ (sly render context))
(load "common.scm")
-(define scene
- (model-move (vector2 320 240)
- (load-sprite "images/p1_front.png")))
+(define s (load-sprite "images/p1_front.png"))
+
+(define bg (load-sprite "images/lava.png"))
+
+(define fb (make-framebuffer 320 240))
+
+(define base-model
+ (model-move (vector2 160 120) s))
+
+(define base-camera
+ (orthographic-camera 320 240))
+
+(define base-scene
+ (scene base-camera base-model fb))
+
+(define model
+ (model-group (model-move (vector2 320 240) bg)
+ (chain (scene->sprite base-scene)
+ (model-move (vector2 320 240))
+ (model-scale 2))))
(define camera (orthographic-camera 640 480))
-(add-hook! draw-hook (lambda _ (draw-model scene camera)))
+(define-signal scene (make-scene camera model))
(with-window (make-window #:title "Simple Sprite Demo")
- (start-game-loop))
+ (start-game-loop scene))
;;; Local Variables:
;;; compile-command: "../pre-inst-env guile simple.scm"