diff options
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))) + ;; ------------------------------------------------ |