(module (bounce) () (import scheme (chicken base) raylib (engine core) (engine components core) (srfi 1)) (*window-title* "Bounce!") (*target-fps* 60) (add-system (make-system 'draw-circles 0 'entity '( ) (lambda (ball) (let ((vis-2d (find visual-2d? ball)) (transform (find screen-transform? ball))) (when (circle-2d? (visual-2d-draw vis-2d)) (let ((circle (visual-2d-draw vis-2d))) (push-render-object 'screen (visual-2d-layer vis-2d) (lambda () ((if (circle-2d-filled? circle) draw-circle draw-circle-lines) (+ (vector-x (position transform)) (vector-x (circle-2d-center circle))) (+ (vector-y (position transform)) (vector-y (circle-2d-center circle))) (circle-2d-radius circle) (use-color (visual-2d-color vis-2d))))))))))) (create-entity (make-visual-2d (make-circle-2d (make-vector2 0 0) 50 #t) (make-color 0 0 1 1) 0) (make-screen-transform (make-vector2 100 100) (make-vector2 0 0) 0 (make-vector2 1 1) 'center 'none)) (create-window) )