Rotate logic gate sprites based on direction.
This commit is contained in:
parent
00df10dc12
commit
bb4d2df5f5
5 changed files with 33 additions and 5 deletions
15
game.scm
15
game.scm
|
@ -317,6 +317,15 @@
|
|||
(hashtable-set! cache x str)
|
||||
str)))))
|
||||
|
||||
(define (draw-rotated-tile id pos angle)
|
||||
(let ((hw (* tile-width 0.5))
|
||||
(hh (* tile-height 0.5)))
|
||||
(save! context)
|
||||
(translate! context (+ (vec2-x pos) hw) (+ (vec2-y pos) hh))
|
||||
(rotate! context angle)
|
||||
(draw-tile context tileset id (- hw) (- hh))
|
||||
(restore! context)))
|
||||
|
||||
(define (draw-player pos alive?)
|
||||
(draw-tile context tileset (if alive? 0 20) (vec2-x pos) (vec2-y pos)))
|
||||
|
||||
|
@ -368,7 +377,11 @@
|
|||
(let ((x (vec2-x pos))
|
||||
(y (vec2-y pos)))
|
||||
(draw-tile context tileset 2 x y)
|
||||
(draw-tile context tileset id x y)
|
||||
(match direction
|
||||
('right (draw-tile context tileset id x y))
|
||||
('left (draw-rotated-tile id pos pi))
|
||||
('up (draw-rotated-tile id pos (* pi 1.5)))
|
||||
('down (draw-rotated-tile id pos (* pi 0.5))))
|
||||
(draw-wire-state pos state)))
|
||||
|
||||
(define (draw-electric-switch pos on?)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue