racket/collects/frtime/demos/ufo.ss
Jay McCarthy 02404e553a Turning to #lang when possible
svn: r15257
2009-06-24 19:46:24 +00:00

27 lines
839 B
Scheme

#lang frtime
(require frtime/animation)
(define ufo-x
(modulo
(+ 200 ; center of window
(floor
(integral ; integrate over time
(* .04 ; scale speed to appropriate # of pixels/ms
(- 3 ; start off stationary
; use left and right arrows to accelerate
; (up to 3 in either direction)
(range-control (key 'left) (key 'right) 6 3))))))
450))
(define ufo-y ; bob up and down 5 pixels around center of window
(+ 200 (* 5 (sin (/ milliseconds 200)))))
(define ufo-bright ; flash light and dark
(/ (add1 (cos (/ milliseconds 100))) 3))
(define ufo-color
(make-rgb ufo-bright ufo-bright ufo-bright))
(display-shapes
(list
(make-circle (make-posn ufo-x ufo-y) 10 ufo-color)
(make-rect (make-posn (- ufo-x 20) (- ufo-y 2))
40 4 ufo-color)))