diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/action.scm | 8 | ||||
-rw-r--r-- | examples/animation.scm | 26 | ||||
-rw-r--r-- | examples/coroutine.scm | 11 | ||||
-rw-r--r-- | examples/font.scm | 5 | ||||
-rw-r--r-- | examples/particles.scm | 12 | ||||
-rw-r--r-- | examples/simple.scm | 7 | ||||
-rw-r--r-- | examples/tilemap.scm | 9 |
7 files changed, 40 insertions, 38 deletions
diff --git a/examples/action.scm b/examples/action.scm index e5dce93..dab15c1 100644 --- a/examples/action.scm +++ b/examples/action.scm @@ -5,7 +5,7 @@ (2d agenda) (2d coroutine) (2d actions) - (2d vector)) + (2d vector2)) (define window-width 800) (define window-height 600) @@ -16,8 +16,8 @@ ;; Load a sprite and center it on the screen. (define sprite (load-sprite "images/sprite.png" - #:position (vector (/ window-width 2) - (/ window-height 2)))) + #:position (vector2 (/ window-width 2) + (/ window-height 2)))) (define (key-down key mod unicode) (cond ((any-equal? key 'escape 'q) @@ -36,7 +36,7 @@ (action-parallel ;; Move horizontally across the screen in 60 frames. (lerp (lambda (x) - (set-sprite-position! sprite (vector x (/ window-height 2)))) + (set-sprite-position! sprite (vector2 x (/ window-height 2)))) 0 800 60) ;; Rotate 1080 degrees in 120 frames. (lerp (lambda (angle) diff --git a/examples/animation.scm b/examples/animation.scm index d00a9df..0e58b8e 100644 --- a/examples/animation.scm +++ b/examples/animation.scm @@ -2,8 +2,8 @@ (2d game-loop) (2d helpers) (2d sprite) - (2d texture) - (2d vector) + (2d tileset) + (2d vector2) (2d window)) (define window-width 800) @@ -28,21 +28,21 @@ ;; Load a texture, split it into 64x64 tiles, and build an animated ;; sprite out of it. (define animation - (let* ((tiles (split-texture (load-texture "images/princess.png") 64 64)) - (frames (vector (vector-ref tiles 19) - (vector-ref tiles 20) - (vector-ref tiles 21) - (vector-ref tiles 22) - (vector-ref tiles 23) - (vector-ref tiles 24) - (vector-ref tiles 25) - (vector-ref tiles 26)))) + (let* ((tiles (load-tileset "images/princess.png" 64 64)) + (frames (vector (tileset-ref tiles 19) + (tileset-ref tiles 20) + (tileset-ref tiles 21) + (tileset-ref tiles 22) + (tileset-ref tiles 23) + (tileset-ref tiles 24) + (tileset-ref tiles 25) + (tileset-ref tiles 26)))) (make-animation frames 6 #t))) (define sprite (make-sprite animation - #:position (vector (/ window-width 2) - (/ window-height 2)))) + #:position (vector2 (/ window-width 2) + (/ window-height 2)))) (run-game-loop) diff --git a/examples/coroutine.scm b/examples/coroutine.scm index 250cdbb..0a4d000 100644 --- a/examples/coroutine.scm +++ b/examples/coroutine.scm @@ -3,7 +3,8 @@ (2d window) (2d helpers) (2d agenda) - (2d coroutine)) + (2d coroutine) + (2d vector2)) (define window-width 800) (define window-height 600) @@ -13,8 +14,8 @@ (define sprite (load-sprite "images/sprite.png" - #:position (vector (/ window-width 2) - (/ window-height 2)))) + #:position (vector2 (/ window-width 2) + (/ window-height 2)))) (define (key-down key mod unicode) (cond ((any-equal? key 'escape 'q) @@ -34,8 +35,8 @@ (agenda-schedule (colambda () (while #t - (set-sprite-position! sprite (vector (random window-width) - (random window-height))) + (set-sprite-position! sprite (vector2 (random window-width) + (random window-height))) (wait 60)))) (run-game-loop) diff --git a/examples/font.scm b/examples/font.scm index 8cdfd3a..69da60a 100644 --- a/examples/font.scm +++ b/examples/font.scm @@ -3,13 +3,14 @@ (2d game-loop) (2d window) (2d helpers) - (2d font)) + (2d font) + (2d vector2)) (define window-width 800) (define window-height 600) (define font (load-font "fonts/Boxy-Bold.ttf" 48)) (define text "The quick brown fox jumped over the lazy dog.") -(define textbox (make-textbox font text #(320 300) white 'left 200)) +(define textbox (make-textbox font text (vector2 320 300) white 'left 200)) ;; Open the window. (open-window window-width window-height) diff --git a/examples/particles.scm b/examples/particles.scm index 5251ac0..dfe3322 100644 --- a/examples/particles.scm +++ b/examples/particles.scm @@ -5,7 +5,7 @@ (2d helpers) (2d sprite) (2d texture) - (2d vector) + (2d vector2) (2d window)) (set! *random-state* (random-state-from-platform)) @@ -35,7 +35,7 @@ (open-window window-width window-height) -(define stars (load-sprite "images/stars.png" #:anchor #(0 0))) +(define stars (load-sprite "images/stars.png" #:anchor null-vector2)) (define particle-image (load-texture "images/bullet.png")) (define particle-width (texture-width particle-image)) (define particle-height (texture-height particle-image)) @@ -44,10 +44,10 @@ (list-tabulate particle-count (lambda (n) (make-particle (make-sprite particle-image) - (vector (random window-width) - (random window-height)) - (vector (* (random:normal) 1) - (* (random:normal) 1)))))) + (vector2 (random window-width) + (random window-height)) + (vector2 (* (random:normal) 1) + (* (random:normal) 1)))))) (define batch (make-sprite-batch (* particle-count 4))) (define (draw-particles particles) diff --git a/examples/simple.scm b/examples/simple.scm index e5f5ae0..6a4e928 100644 --- a/examples/simple.scm +++ b/examples/simple.scm @@ -1,7 +1,8 @@ (use-modules (2d sprite) (2d game-loop) (2d window) - (2d helpers)) + (2d helpers) + (2d vector2)) (define window-width 800) (define window-height 600) @@ -11,8 +12,8 @@ (define sprite (load-sprite "images/sprite.png" - #:position (vector (/ window-width 2) - (/ window-height 2)))) + #:position (vector2 (/ window-width 2) + (/ window-height 2)))) (define (quit-demo) (close-window) diff --git a/examples/tilemap.scm b/examples/tilemap.scm index 3d15049..b64c04e 100644 --- a/examples/tilemap.scm +++ b/examples/tilemap.scm @@ -6,7 +6,7 @@ (2d texture) (2d tileset) (2d sprite) - (2d vector) + (2d vector2) (2d window)) (define window-width 800) @@ -55,7 +55,6 @@ (define tile-width 32) (define tile-height 32) -(define map #f) (define (random-map width height tileset) (let ((tiles (make-array 0 height width)) @@ -68,9 +67,9 @@ (define (build-sprite x y) (let ((region (tileset-ref tileset (array-ref tiles y x)))) (make-sprite region - #:position (vector (* x tile-width) - (* y tile-height)) - #:anchor #(0 0)))) + #:position (vector2 (* x tile-width) + (* y tile-height)) + #:anchor null-vector2))) (let ((sprites (list-ec (: y height) (list-ec (: x width) |