diff options
author | Thomas White <taw@physics.org> | 2020-09-19 22:44:44 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2020-09-19 22:44:44 +0200 |
commit | 5bfc87ce83b1c22e06879b8a0f0704e08ec7204b (patch) | |
tree | a62fd29f75b75d710a18f21d1165e0338f00f01b /heyllama.scm | |
parent | 62027ba25490f15acfc01fb3efdafea5cb9a1ba6 (diff) |
Load grid objects
Diffstat (limited to 'heyllama.scm')
-rw-r--r-- | heyllama.scm | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/heyllama.scm b/heyllama.scm index 885918a..abe9a77 100644 --- a/heyllama.scm +++ b/heyllama.scm @@ -1,6 +1,7 @@ (use-modules (chickadee) (chickadee math vector) (chickadee math rect) + (chickadee math grid) (chickadee render font) (chickadee render sprite) (chickadee render texture) @@ -63,6 +64,7 @@ (define llama #f) (define tile-map #f) (define view-pos #v(0.0 0.0)) +(define grid (make-grid 16)) (define (load) (set! llama (make <animal> @@ -74,7 +76,27 @@ #:spacing 48 #:margin 24))) - (set! tile-map (load-tile-map "llama.tmx"))) + (set! tile-map (load-tile-map "llama.tmx")) + + ;; Add objects from map to grid + + (define (add-to-grid obj) + (let ((shape (map-object-shape obj))) + (grid-add grid + (map-object-id obj) + (rect-x shape) + (rect-y shape) + (rect-width shape) + (rect-height shape)))) + + + (let ((objects (object-layer-objects + (vector-ref (tile-map-layers tile-map) + 1)))) + (for-each (lambda (obj) + (add-to-grid obj)) + objects))) + ;; ------------------------------------------------ |