aboutsummaryrefslogtreecommitdiff
path: root/docs/guide.org
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2026-04-08 01:32:55 +0100
committerGene Pasquet <dev@etenil.net>2026-04-08 01:32:55 +0100
commit84840ede6646ed793b61cdd889d3f57ab05e9311 (patch)
tree2b62dd73a7321bc71a368b297ab40b3535bd79fc /docs/guide.org
parent7903180321bf72b344077a8423930ac161872a2c (diff)
Refactor to be functional
Diffstat (limited to 'docs/guide.org')
-rw-r--r--docs/guide.org10
1 files changed, 4 insertions, 6 deletions
diff --git a/docs/guide.org b/docs/guide.org
index 1c5a8f3..96663ea 100644
--- a/docs/guide.org
+++ b/docs/guide.org
@@ -101,7 +101,8 @@ Now let's add an entity you can move with the keyboard. Create =square.scm=:
(entity-ref box #:vx 0))))
(box (entity-set box #:y (+ (entity-ref box #:y 0)
(entity-ref box #:vy 0)))))
- (scene-entities-set! scene (list box))))
+ (game-scene-set! game
+ (update-scene scene entities: (list box)))))
render: (lambda (game)
(let* ((scene (game-scene game))
@@ -194,11 +195,8 @@ For a real game, you probably want tilemaps, gravity, and collision detection. D
(player (apply-velocity-y player))
(player (resolve-tile-collisions-y player tm))
(player (detect-on-solid player tm)))
- ;; Update camera to follow player
- (let ((cam-x (max 0 (- (entity-ref player #:x 0) 300))))
- (camera-x-set! (scene-camera scene) cam-x))
- ;; Replace entities in scene
- (scene-entities-set! scene (list player))))))
+ (game-scene-set! game
+ (update-scene scene entities: (list player)))))))
(game-run! *game*)
#+end_src