diff options
Diffstat (limited to 'scenes')
-rw-r--r-- | scenes/game.scm | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/scenes/game.scm b/scenes/game.scm index 1e983fe..4c052e6 100644 --- a/scenes/game.scm +++ b/scenes/game.scm @@ -52,7 +52,7 @@ (hitbox #:getter hitbox #:init-form (make-rect 8.0 0.0 16.0 16.0))) (define-class <stats> (<node-2d>) - (player #:accessor player #:init-form #f #:init-keyword #:player)) + (object #:accessor object #:init-form #f #:init-keyword #:object)) (define-method (walk (character <character>) directions . rest) (unless (equal? (direction character) directions) @@ -143,10 +143,6 @@ (load-tile-font "assets/fonts/bubblemad_8x8.png" 8 8 " !\"©_%❤'()*+,-./0123456789:←<=>?@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")) -;; TODO: hack :( -;; TODO: It's ugly to use the global variable %player here, but -;; (player stats) below always returns #f. -(define %player #f) (define-method (populate (game <game>)) (let ((player (make <player> @@ -167,7 +163,6 @@ (list 12 10 8 10 12) ;; widths (list 8 12 16 12 8)))))) - (set! %player player) (list (make <reaper> #:name 'reaper #:position (vec2 720.0 1100.0) @@ -196,7 +191,7 @@ #:name 'top-layer #:position (vec2 0.0 0.0)) (make <stats> - #:name 'stats #:player player + #:name 'stats #:object player #:position (vec2 10.0 (- %height 10.0)))))) (define* (collides? player game #:key (layer "collision")) @@ -287,9 +282,7 @@ music career curiosity)) - ;; FIXME - (player %player;(player stats) - )) + (player (object stats))) (for-each (lambda (property index) (let* ((value (property player)) (start (vec2 x (- y (* step index)))) |