reanimate-1.1.5.0: examples/doc_signalO.hs
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Scene
import Reanimate.Builtin.Documentation
import Control.Lens
import Control.Monad
main :: IO ()
main = reanimate $ docEnv $ scene $ do
objs <- waitOn $ replicateM 3 $ do
obj1 <- newObject $ mkCircle 1
oModifyS obj1 $ oEasing .= id
oModifyS obj1 $ oRightX .= screenRight
fork $ oShowWith obj1 oFadeIn
fork $ oTweenS obj1 2 $ \t ->
oLeftX %= \origin -> fromToS origin screenLeft t
wait 1
oHideWith obj1 oFadeOut
wait (-1.5)
return obj1
dur <- queryNow
wait (-dur)
forM_ objs $ \obj -> do
signalO obj dur $ curveS 2